{"version":3,"sources":["webpack:///webpack/bootstrap","webpack:///./node_modules/react/react.js","webpack:///./node_modules/prop-types/index.js","webpack:///./node_modules/fbjs/lib/invariant.js","webpack:///./node_modules/classnames/index.js","webpack:///./node_modules/react-dom/lib/reactProdInvariant.js","webpack:///./node_modules/fbjs/lib/warning.js","webpack:///./node_modules/object-assign/index.js","webpack:///./node_modules/react-dom/lib/ReactDOMComponentTree.js","webpack:///./node_modules/react-dom/index.js","webpack:///./node_modules/@babel/runtime/helpers/interopRequireDefault.js","webpack:///./node_modules/prop-types-extra/lib/elementType.js","webpack:///./node_modules/fbjs/lib/ExecutionEnvironment.js","webpack:///./node_modules/react-dom/lib/ReactInstrumentation.js","webpack:///./node_modules/core-js/library/modules/_core.js","webpack:///./node_modules/fbjs/lib/emptyFunction.js","webpack:///./node_modules/react-dom/lib/ReactUpdates.js","webpack:///./node_modules/react/lib/ReactCurrentOwner.js","webpack:///./node_modules/react-dom/lib/SyntheticEvent.js","webpack:///./node_modules/dom-helpers/util/inDOM.js","webpack:///./node_modules/keycode/index.js","webpack:///./node_modules/core-js/library/modules/_export.js","webpack:///./node_modules/react-dom/lib/PooledClass.js","webpack:///./node_modules/core-js/library/modules/_descriptors.js","webpack:///./node_modules/core-js/library/modules/_wks.js","webpack:///./node_modules/react/lib/React.js","webpack:///./node_modules/react/lib/ReactElement.js","webpack:///./node_modules/react-dom/lib/DOMProperty.js","webpack:///./node_modules/react-dom/lib/ReactReconciler.js","webpack:///./node_modules/react-dom/lib/DOMLazyTree.js","webpack:///./node_modules/prop-types-extra/lib/utils/createChainableTypeChecker.js","webpack:///./node_modules/prop-types-extra/lib/all.js","webpack:///./node_modules/react-overlays/lib/Modal.js","webpack:///./node_modules/react/lib/reactProdInvariant.js","webpack:///./node_modules/react-dom/lib/EventPropagators.js","webpack:///./node_modules/react-dom/lib/EventPluginHub.js","webpack:///./node_modules/react-dom/lib/SyntheticUIEvent.js","webpack:///./node_modules/react-dom/lib/ReactInstanceMap.js","webpack:///./node_modules/core-js/library/modules/_has.js","webpack:///./node_modules/core-js/library/modules/_global.js","webpack:///./node_modules/core-js/library/modules/_an-object.js","webpack:///./node_modules/dom-helpers/query/contains.js","webpack:///./node_modules/dom-helpers/ownerDocument.js","webpack:///./node_modules/@babel/runtime-corejs2/core-js/object/entries.js","webpack:///./node_modules/react-dom/lib/Transaction.js","webpack:///./node_modules/react-dom/lib/SyntheticMouseEvent.js","webpack:///./node_modules/react-dom/lib/setInnerHTML.js","webpack:///./node_modules/react-dom/lib/escapeTextContentForBrowser.js","webpack:///./node_modules/react-dom/lib/ReactBrowserEventEmitter.js","webpack:///./node_modules/core-js/library/modules/_to-object.js","webpack:///./node_modules/core-js/library/modules/_object-keys.js","webpack:///./node_modules/core-js/library/modules/_to-iobject.js","webpack:///./node_modules/core-js/library/modules/_hide.js","webpack:///./node_modules/core-js/library/modules/_object-dp.js","webpack:///./node_modules/core-js/library/modules/_is-object.js","webpack:///./node_modules/core-js/library/modules/_fails.js","webpack:///./node_modules/core-js/library/modules/_property-desc.js","webpack:///./node_modules/react-overlays/lib/utils/ownerDocument.js","webpack:///./node_modules/invariant/browser.js","webpack:///./node_modules/dom-helpers/util/scrollbarSize.js","webpack:///./node_modules/react-transition-group/Transition.js","webpack:///./node_modules/fbjs/lib/emptyObject.js","webpack:///./node_modules/react-dom/lib/EventPluginRegistry.js","webpack:///./node_modules/react-dom/lib/EventPluginUtils.js","webpack:///./node_modules/react-dom/lib/ReactErrorUtils.js","webpack:///./node_modules/react-dom/lib/getEventTarget.js","webpack:///./node_modules/react-dom/lib/isEventSupported.js","webpack:///./node_modules/react-dom/lib/getEventModifierState.js","webpack:///./node_modules/react-dom/lib/DOMChildrenOperations.js","webpack:///./node_modules/react-dom/lib/DOMNamespaces.js","webpack:///./node_modules/react-dom/lib/createMicrosoftUnsafeLocalFunction.js","webpack:///./node_modules/react-dom/lib/LinkedValueUtils.js","webpack:///./node_modules/react-dom/lib/ReactComponentEnvironment.js","webpack:///./node_modules/fbjs/lib/shallowEqual.js","webpack:///./node_modules/react-dom/lib/shouldUpdateReactComponent.js","webpack:///./node_modules/react-dom/lib/KeyEscapeUtils.js","webpack:///./node_modules/react-dom/lib/ReactUpdateQueue.js","webpack:///./node_modules/react-dom/lib/validateDOMNesting.js","webpack:///./node_modules/react-dom/lib/getEventCharCode.js","webpack:///./node_modules/core-js/library/modules/_defined.js","webpack:///./node_modules/core-js/library/modules/_to-integer.js","webpack:///./node_modules/core-js/library/modules/_shared-key.js","webpack:///./node_modules/core-js/library/modules/_ctx.js","webpack:///./node_modules/core-js/library/modules/_object-pie.js","webpack:///./node_modules/dom-helpers/events/on.js","webpack:///./node_modules/dom-helpers/events/off.js","webpack:///./node_modules/prop-types-extra/lib/componentOrElement.js","webpack:///./node_modules/react-overlays/lib/utils/getContainer.js","webpack:///./node_modules/core-js/library/modules/_iterators.js","webpack:///./node_modules/dom-helpers/activeElement.js","webpack:///./node_modules/react-overlays/lib/utils/isOverflowing.js","webpack:///./node_modules/@babel/runtime-corejs2/core-js/object/set-prototype-of.js","webpack:///./node_modules/@babel/runtime-corejs2/core-js/object/assign.js","webpack:///./node_modules/dom-helpers/events/index.js","webpack:///./node_modules/react/lib/ReactBaseClasses.js","webpack:///./node_modules/react/lib/ReactNoopUpdateQueue.js","webpack:///./node_modules/react/lib/canDefineProperty.js","webpack:///./node_modules/react/lib/ReactElementSymbol.js","webpack:///./node_modules/prop-types/factory.js","webpack:///./node_modules/react-is/index.js","webpack:///./node_modules/prop-types/lib/ReactPropTypesSecret.js","webpack:///./node_modules/react-dom/lib/ReactDOMComponentFlags.js","webpack:///./node_modules/react-dom/lib/accumulateInto.js","webpack:///./node_modules/react-dom/lib/forEachAccumulated.js","webpack:///./node_modules/react-dom/lib/getTextContentAccessor.js","webpack:///./node_modules/react-dom/lib/CallbackQueue.js","webpack:///./node_modules/react-dom/lib/ReactFeatureFlags.js","webpack:///./node_modules/react-dom/lib/inputValueTracking.js","webpack:///./node_modules/react-dom/lib/isTextInputElement.js","webpack:///./node_modules/react-dom/lib/ViewportMetrics.js","webpack:///./node_modules/react-dom/lib/setTextContent.js","webpack:///./node_modules/fbjs/lib/focusNode.js","webpack:///./node_modules/react-dom/lib/CSSProperty.js","webpack:///./node_modules/react-dom/lib/DOMPropertyOperations.js","webpack:///./node_modules/react-dom/lib/ReactDOMSelect.js","webpack:///./node_modules/process/browser.js","webpack:///./node_modules/react-dom/lib/instantiateReactComponent.js","webpack:///./node_modules/react-dom/lib/ReactNodeTypes.js","webpack:///./node_modules/react-dom/lib/ReactEmptyComponent.js","webpack:///./node_modules/react-dom/lib/ReactHostComponent.js","webpack:///./node_modules/react-dom/lib/traverseAllChildren.js","webpack:///./node_modules/react/lib/ReactComponentTreeHook.js","webpack:///./node_modules/fbjs/lib/EventListener.js","webpack:///./node_modules/react-dom/lib/ReactInputSelection.js","webpack:///./node_modules/fbjs/lib/getActiveElement.js","webpack:///./node_modules/react-dom/lib/ReactMount.js","webpack:///./node_modules/react-dom/lib/getHostComponentFromComposite.js","webpack:///./node_modules/core-js/library/modules/_iobject.js","webpack:///./node_modules/core-js/library/modules/_cof.js","webpack:///./node_modules/core-js/library/modules/_to-length.js","webpack:///./node_modules/core-js/library/modules/_shared.js","webpack:///./node_modules/core-js/library/modules/_library.js","webpack:///./node_modules/core-js/library/modules/_uid.js","webpack:///./node_modules/core-js/library/modules/_enum-bug-keys.js","webpack:///./node_modules/core-js/library/modules/_ie8-dom-define.js","webpack:///./node_modules/core-js/library/modules/_dom-create.js","webpack:///./node_modules/core-js/library/modules/_to-primitive.js","webpack:///./node_modules/core-js/library/modules/_object-create.js","webpack:///./node_modules/warning/browser.js","webpack:///./node_modules/dom-helpers/class/hasClass.js","webpack:///./node_modules/dom-helpers/util/camelizeStyle.js","webpack:///./node_modules/react-overlays/lib/utils/addEventListener.js","webpack:///./node_modules/core-js/library/modules/_object-to-array.js","webpack:///./node_modules/core-js/library/modules/_set-to-string-tag.js","webpack:///./node_modules/@babel/runtime-corejs2/core-js/object/keys.js","webpack:///./node_modules/@babel/runtime-corejs2/core-js/object/create.js","webpack:///./node_modules/@babel/runtime-corejs2/core-js/object/values.js","webpack:///./node_modules/prop-types-extra/lib/isRequiredForA11y.js","webpack:///./node_modules/uncontrollable/index.js","webpack:///./node_modules/@babel/runtime-corejs2/core-js/array/from.js","webpack:///./node_modules/react-overlays/lib/RootCloseWrapper.js","webpack:///./node_modules/react/lib/lowPriorityWarning.js","webpack:///./node_modules/react/lib/ReactChildren.js","webpack:///./node_modules/react/lib/PooledClass.js","webpack:///./node_modules/react/lib/traverseAllChildren.js","webpack:///./node_modules/react/lib/getIteratorFn.js","webpack:///./node_modules/react/lib/KeyEscapeUtils.js","webpack:///./node_modules/react/lib/ReactDOMFactories.js","webpack:///./node_modules/react/lib/ReactPropTypes.js","webpack:///./node_modules/prop-types/factoryWithTypeCheckers.js","webpack:///./node_modules/react-is/cjs/react-is.production.min.js","webpack:///./node_modules/prop-types/lib/has.js","webpack:///./node_modules/prop-types/checkPropTypes.js","webpack:///./node_modules/react/lib/ReactVersion.js","webpack:///./node_modules/react/lib/createClass.js","webpack:///./node_modules/create-react-class/factory.js","webpack:///./node_modules/react/lib/onlyChild.js","webpack:///./node_modules/react-dom/lib/ReactDOM.js","webpack:///./node_modules/react-dom/lib/ReactDefaultInjection.js","webpack:///./node_modules/react-dom/lib/ARIADOMPropertyConfig.js","webpack:///./node_modules/react-dom/lib/BeforeInputEventPlugin.js","webpack:///./node_modules/react-dom/lib/FallbackCompositionState.js","webpack:///./node_modules/react-dom/lib/SyntheticCompositionEvent.js","webpack:///./node_modules/react-dom/lib/SyntheticInputEvent.js","webpack:///./node_modules/react-dom/lib/ChangeEventPlugin.js","webpack:///./node_modules/react-dom/lib/ReactRef.js","webpack:///./node_modules/react-dom/lib/ReactOwner.js","webpack:///./node_modules/react-dom/lib/DefaultEventPluginOrder.js","webpack:///./node_modules/react-dom/lib/EnterLeaveEventPlugin.js","webpack:///./node_modules/react-dom/lib/HTMLDOMPropertyConfig.js","webpack:///./node_modules/react-dom/lib/ReactComponentBrowserEnvironment.js","webpack:///./node_modules/react-dom/lib/Danger.js","webpack:///./node_modules/fbjs/lib/createNodesFromMarkup.js","webpack:///./node_modules/fbjs/lib/createArrayFromMixed.js","webpack:///./node_modules/fbjs/lib/getMarkupWrap.js","webpack:///./node_modules/react-dom/lib/ReactDOMIDOperations.js","webpack:///./node_modules/react-dom/lib/ReactDOMComponent.js","webpack:///./node_modules/react-dom/lib/AutoFocusUtils.js","webpack:///./node_modules/react-dom/lib/CSSPropertyOperations.js","webpack:///./node_modules/fbjs/lib/camelizeStyleName.js","webpack:///./node_modules/fbjs/lib/camelize.js","webpack:///./node_modules/react-dom/lib/dangerousStyleValue.js","webpack:///./node_modules/fbjs/lib/hyphenateStyleName.js","webpack:///./node_modules/fbjs/lib/hyphenate.js","webpack:///./node_modules/fbjs/lib/memoizeStringOnly.js","webpack:///./node_modules/react-dom/lib/quoteAttributeValueForBrowser.js","webpack:///./node_modules/react-dom/lib/ReactEventEmitterMixin.js","webpack:///./node_modules/react-dom/lib/getVendorPrefixedEventName.js","webpack:///./node_modules/react-dom/lib/ReactDOMInput.js","webpack:///./node_modules/react-dom/lib/ReactPropTypesSecret.js","webpack:///./node_modules/react-dom/lib/ReactDOMOption.js","webpack:///./node_modules/react-dom/lib/ReactDOMTextarea.js","webpack:///./node_modules/react-dom/lib/ReactMultiChild.js","webpack:///./node_modules/react-dom/lib/ReactChildReconciler.js","webpack:///./node_modules/react-dom/lib/ReactCompositeComponent.js","webpack:///./node_modules/react/lib/getNextDebugID.js","webpack:///./node_modules/react-dom/lib/ReactElementSymbol.js","webpack:///./node_modules/react-dom/lib/getIteratorFn.js","webpack:///./node_modules/react-dom/lib/flattenChildren.js","webpack:///./node_modules/react-dom/lib/ReactServerRenderingTransaction.js","webpack:///./node_modules/react-dom/lib/ReactServerUpdateQueue.js","webpack:///./node_modules/react-dom/lib/ReactDOMEmptyComponent.js","webpack:///./node_modules/react-dom/lib/ReactDOMTreeTraversal.js","webpack:///./node_modules/react-dom/lib/ReactDOMTextComponent.js","webpack:///./node_modules/react-dom/lib/ReactDefaultBatchingStrategy.js","webpack:///./node_modules/react-dom/lib/ReactEventListener.js","webpack:///./node_modules/fbjs/lib/getUnboundedScrollPosition.js","webpack:///./node_modules/react-dom/lib/ReactInjection.js","webpack:///./node_modules/react-dom/lib/ReactReconcileTransaction.js","webpack:///./node_modules/react-dom/lib/ReactDOMSelection.js","webpack:///./node_modules/react-dom/lib/getNodeForCharacterOffset.js","webpack:///./node_modules/fbjs/lib/containsNode.js","webpack:///./node_modules/fbjs/lib/isTextNode.js","webpack:///./node_modules/fbjs/lib/isNode.js","webpack:///./node_modules/react-dom/lib/SVGDOMPropertyConfig.js","webpack:///./node_modules/react-dom/lib/SelectEventPlugin.js","webpack:///./node_modules/react-dom/lib/SimpleEventPlugin.js","webpack:///./node_modules/react-dom/lib/SyntheticAnimationEvent.js","webpack:///./node_modules/react-dom/lib/SyntheticClipboardEvent.js","webpack:///./node_modules/react-dom/lib/SyntheticFocusEvent.js","webpack:///./node_modules/react-dom/lib/SyntheticKeyboardEvent.js","webpack:///./node_modules/react-dom/lib/getEventKey.js","webpack:///./node_modules/react-dom/lib/SyntheticDragEvent.js","webpack:///./node_modules/react-dom/lib/SyntheticTouchEvent.js","webpack:///./node_modules/react-dom/lib/SyntheticTransitionEvent.js","webpack:///./node_modules/react-dom/lib/SyntheticWheelEvent.js","webpack:///./node_modules/react-dom/lib/ReactDOMContainerInfo.js","webpack:///./node_modules/react-dom/lib/ReactDOMFeatureFlags.js","webpack:///./node_modules/react-dom/lib/ReactMarkupChecksum.js","webpack:///./node_modules/react-dom/lib/adler32.js","webpack:///./node_modules/react-dom/lib/ReactVersion.js","webpack:///./node_modules/react-dom/lib/findDOMNode.js","webpack:///./node_modules/react-dom/lib/renderSubtreeIntoContainer.js","webpack:///./node_modules/core-js/library/fn/object/keys.js","webpack:///./node_modules/core-js/library/modules/es6.object.keys.js","webpack:///./node_modules/core-js/library/modules/_object-keys-internal.js","webpack:///./node_modules/core-js/library/modules/_array-includes.js","webpack:///./node_modules/core-js/library/modules/_to-absolute-index.js","webpack:///./node_modules/core-js/library/modules/_object-sap.js","webpack:///./node_modules/core-js/library/modules/_a-function.js","webpack:///./node_modules/core-js/library/fn/object/create.js","webpack:///./node_modules/core-js/library/modules/es6.object.create.js","webpack:///./node_modules/core-js/library/modules/_object-dps.js","webpack:///./node_modules/core-js/library/modules/_html.js","webpack:///./node_modules/core-js/library/fn/object/set-prototype-of.js","webpack:///./node_modules/core-js/library/modules/es6.object.set-prototype-of.js","webpack:///./node_modules/core-js/library/modules/_set-proto.js","webpack:///./node_modules/core-js/library/modules/_object-gopd.js","webpack:///./node_modules/core-js/library/fn/object/assign.js","webpack:///./node_modules/core-js/library/modules/es6.object.assign.js","webpack:///./node_modules/core-js/library/modules/_object-assign.js","webpack:///./node_modules/core-js/library/modules/_object-gops.js","webpack:///./node_modules/dom-helpers/events/filter.js","webpack:///./node_modules/dom-helpers/query/querySelectorAll.js","webpack:///./node_modules/dom-helpers/events/listen.js","webpack:///./node_modules/prop-types/factoryWithThrowingShims.js","webpack:///./node_modules/prop-types-extra/lib/deprecated.js","webpack:///./node_modules/prop-types-extra/node_modules/warning/warning.js","webpack:///./node_modules/react-overlays/lib/ModalManager.js","webpack:///./node_modules/dom-helpers/class/index.js","webpack:///./node_modules/dom-helpers/class/addClass.js","webpack:///./node_modules/dom-helpers/class/removeClass.js","webpack:///./node_modules/dom-helpers/style/index.js","webpack:///./node_modules/dom-helpers/util/camelize.js","webpack:///./node_modules/dom-helpers/util/hyphenateStyle.js","webpack:///./node_modules/dom-helpers/util/hyphenate.js","webpack:///./node_modules/dom-helpers/style/getComputedStyle.js","webpack:///./node_modules/dom-helpers/style/removeStyle.js","webpack:///./node_modules/dom-helpers/transition/properties.js","webpack:///./node_modules/dom-helpers/transition/isTransform.js","webpack:///./node_modules/dom-helpers/query/isWindow.js","webpack:///./node_modules/react-overlays/lib/utils/manageAriaHidden.js","webpack:///./node_modules/react-overlays/lib/Portal.js","webpack:///./node_modules/react-overlays/lib/LegacyPortal.js","webpack:///./node_modules/react-overlays/lib/RefHolder.js","webpack:///./node_modules/react-overlays/lib/utils/addFocusListener.js","webpack:///./node_modules/core-js/library/fn/object/entries.js","webpack:///./node_modules/core-js/library/modules/es7.object.entries.js","webpack:///./node_modules/react-lifecycles-compat/react-lifecycles-compat.es.js","webpack:///./node_modules/react-transition-group/utils/PropTypes.js","webpack:///./node_modules/core-js/library/fn/object/values.js","webpack:///./node_modules/core-js/library/modules/es7.object.values.js","webpack:///./node_modules/uncontrollable/utils.js","webpack:///./node_modules/core-js/library/fn/array/from.js","webpack:///./node_modules/core-js/library/modules/es6.string.iterator.js","webpack:///./node_modules/core-js/library/modules/_string-at.js","webpack:///./node_modules/core-js/library/modules/_iter-define.js","webpack:///./node_modules/core-js/library/modules/_redefine.js","webpack:///./node_modules/core-js/library/modules/_iter-create.js","webpack:///./node_modules/core-js/library/modules/_object-gpo.js","webpack:///./node_modules/core-js/library/modules/es6.array.from.js","webpack:///./node_modules/core-js/library/modules/_iter-call.js","webpack:///./node_modules/core-js/library/modules/_is-array-iter.js","webpack:///./node_modules/core-js/library/modules/_create-property.js","webpack:///./node_modules/core-js/library/modules/core.get-iterator-method.js","webpack:///./node_modules/core-js/library/modules/_classof.js","webpack:///./node_modules/core-js/library/modules/_iter-detect.js","webpack:///./src/common/scripts/getListData.js","webpack:///./src/common/scripts/services.js","webpack:///./node_modules/@babel/runtime-corejs2/helpers/esm/objectWithoutPropertiesLoose.js","webpack:///./node_modules/@babel/runtime-corejs2/helpers/esm/setPrototypeOf.js","webpack:///./node_modules/@babel/runtime-corejs2/helpers/esm/inheritsLoose.js","webpack:///./node_modules/@babel/runtime-corejs2/helpers/esm/assertThisInitialized.js","webpack:///./node_modules/@babel/runtime-corejs2/helpers/esm/extends.js","webpack:///./node_modules/react-bootstrap/es/Fade.js","webpack:///./node_modules/react-bootstrap/es/utils/StyleConfig.js","webpack:///./node_modules/react-bootstrap/es/utils/bootstrapUtils.js","webpack:///./node_modules/react-bootstrap/es/ModalBody.js","webpack:///./node_modules/react-bootstrap/es/ModalDialog.js","webpack:///./node_modules/react-bootstrap/es/ModalFooter.js","webpack:///./node_modules/react-bootstrap/es/utils/createChainedFunction.js","webpack:///./node_modules/react-bootstrap/es/CloseButton.js","webpack:///./node_modules/react-bootstrap/es/ModalHeader.js","webpack:///./node_modules/react-bootstrap/es/ModalTitle.js","webpack:///./node_modules/react-bootstrap/es/utils/splitComponentProps.js","webpack:///./node_modules/react-bootstrap/es/Modal.js","webpack:///./node_modules/react-bootstrap/es/SafeAnchor.js","webpack:///./node_modules/react-bootstrap/es/Button.js","webpack:///./src/common/scripts/modalGeneral.js","webpack:///./node_modules/react-bootstrap/es/ButtonGroup.js","webpack:///./node_modules/react-bootstrap/es/utils/ValidComponentChildren.js","webpack:///./node_modules/react-bootstrap/es/DropdownMenu.js","webpack:///./node_modules/react-bootstrap/es/DropdownToggle.js","webpack:///./node_modules/react-bootstrap/es/utils/PropTypes.js","webpack:///./node_modules/react-bootstrap/es/Dropdown.js","webpack:///./node_modules/react-bootstrap/es/DropdownButton.js","webpack:///./node_modules/react-bootstrap/es/MenuItem.js","webpack:///./node_modules/react-bootstrap/es/HelpBlock.js","webpack:///./src/common/scripts/inputDecimal.js","webpack:///./src/common/scripts/modalConfirmData.js","webpack:///./src/components/transacciones.comp_Form.js","webpack:///./src/layouts/transacciones.lay_solicitudCertificadoEducativo.js"],"names":["installedModules","__webpack_require__","moduleId","exports","module","i","l","modules","call","m","c","d","name","getter","o","Object","defineProperty","enumerable","get","r","Symbol","toStringTag","value","t","mode","__esModule","ns","create","key","bind","n","object","property","prototype","hasOwnProperty","p","s","condition","format","a","b","e","f","error","undefined","Error","args","argIndex","replace","framesToPop","hasOwn","classNames","classes","arguments","length","arg","argType","push","Array","isArray","inner","apply","toString","includes","join","default","code","argCount","message","argIdx","encodeURIComponent","warning","getOwnPropertySymbols","propIsEnumerable","propertyIsEnumerable","toObject","val","TypeError","assign","test1","String","getOwnPropertyNames","test2","fromCharCode","map","test3","split","forEach","letter","keys","err","shouldUseNative","target","source","from","symbols","to","_prodInvariant","DOMProperty","ReactDOMComponentFlags","ATTR_NAME","ID_ATTRIBUTE_NAME","Flags","internalInstanceKey","Math","random","slice","shouldPrecacheNode","node","nodeID","nodeType","getAttribute","nodeValue","getRenderedHostOrTextFromComponent","component","rendered","_renderedComponent","precacheNode","inst","hostInst","_hostNode","precacheChildNodes","_flags","hasCachedChildNodes","children","_renderedChildren","childNode","firstChild","outer","childInst","childID","_domID","nextSibling","getClosestInstanceFromNode","closest","parents","parentNode","pop","ReactDOMComponentTree","getInstanceFromNode","getNodeFromInstance","_hostParent","uncacheNode","obj","_react2","_interopRequireDefault","_reactIs","_createChainableTypeChecker2","props","propName","componentName","location","propFullName","propValue","isValidElement","isValidElementType","canUseDOM","window","document","createElement","ExecutionEnvironment","canUseWorkers","Worker","canUseEventListeners","addEventListener","attachEvent","canUseViewport","screen","isInWorker","debugTool","core","version","__e","makeEmptyFunction","emptyFunction","thatReturns","thatReturnsFalse","thatReturnsTrue","thatReturnsNull","thatReturnsThis","this","thatReturnsArgument","_assign","CallbackQueue","PooledClass","ReactFeatureFlags","ReactReconciler","Transaction","invariant","dirtyComponents","updateBatchNumber","asapCallbackQueue","getPooled","asapEnqueued","batchingStrategy","ensureInjected","ReactUpdates","ReactReconcileTransaction","TRANSACTION_WRAPPERS","initialize","dirtyComponentsLength","close","splice","flushBatchedUpdates","callbackQueue","reset","notifyAll","ReactUpdatesFlushTransaction","reinitializeTransaction","reconcileTransaction","mountOrderComparator","c1","c2","_mountOrder","runBatchedUpdates","transaction","len","sort","markerName","callbacks","_pendingCallbacks","logTopLevelRenders","namedComponent","_currentElement","type","isReactTopLevelWrapper","getName","console","time","performUpdateIfNecessary","timeEnd","j","enqueue","getPublicInstance","getTransactionWrappers","destructor","release","perform","method","scope","addPoolingTo","queue","batchedUpdates","callback","enqueueUpdate","isBatchingUpdates","_updateBatchNumber","injection","injectReconcileTransaction","ReconcileTransaction","injectBatchingStrategy","_batchingStrategy","asap","context","current","shouldBeReleasedProperties","EventInterface","currentTarget","eventPhase","bubbles","cancelable","timeStamp","event","Date","now","defaultPrevented","isTrusted","SyntheticEvent","dispatchConfig","targetInst","nativeEvent","nativeEventTarget","_targetInst","Interface","constructor","normalize","returnValue","isDefaultPrevented","isPropagationStopped","preventDefault","stopPropagation","cancelBubble","persist","isPersistent","augmentClass","Class","E","fourArgumentPooler","_default","keyCode","searchInput","hasKeyCode","which","charCode","names","foundNamedKey","search","codes","toLowerCase","aliases","charCodeAt","isEventKey","nameOrCode","title","alias","global","ctx","hide","has","$export","own","out","IS_FORCED","F","IS_GLOBAL","G","IS_STATIC","S","IS_PROTO","P","IS_BIND","B","IS_WRAP","W","expProto","C","Function","virtual","R","U","oneArgumentPooler","copyFieldsFrom","instancePool","instance","standardReleaser","poolSize","DEFAULT_POOLER","CopyConstructor","pooler","NewKlass","twoArgumentPooler","a1","a2","threeArgumentPooler","a3","a4","store","uid","USE_SYMBOL","ReactBaseClasses","ReactChildren","ReactDOMFactories","ReactElement","ReactPropTypes","ReactVersion","createReactClass","onlyChild","createFactory","cloneElement","__spread","React","Children","count","toArray","only","Component","PureComponent","PropTypes","createClass","createMixin","mixin","DOM","ReactCurrentOwner","REACT_ELEMENT_TYPE","RESERVED_PROPS","ref","__self","__source","hasValidRef","config","hasValidKey","self","owner","$$typeof","_owner","childrenLength","childArray","defaultProps","factory","cloneAndReplaceKey","oldElement","newKey","_self","_source","element","checkMask","bitmask","DOMPropertyInjection","MUST_USE_PROPERTY","HAS_BOOLEAN_VALUE","HAS_NUMERIC_VALUE","HAS_POSITIVE_NUMERIC_VALUE","HAS_OVERLOADED_BOOLEAN_VALUE","injectDOMPropertyConfig","domPropertyConfig","Injection","Properties","DOMAttributeNamespaces","DOMAttributeNames","DOMPropertyNames","DOMMutationMethods","isCustomAttribute","_isCustomAttributeFunctions","properties","lowerCased","propConfig","propertyInfo","attributeName","attributeNamespace","propertyName","mutationMethod","mustUseProperty","hasBooleanValue","hasNumericValue","hasPositiveNumericValue","hasOverloadedBooleanValue","ATTRIBUTE_NAME_START_CHAR","ROOT_ATTRIBUTE_NAME","ATTRIBUTE_NAME_CHAR","getPossibleStandardName","isCustomAttributeFn","ReactRef","attachRefs","mountComponent","internalInstance","hostParent","hostContainerInfo","parentDebugID","markup","getReactMountReady","getHostNode","unmountComponent","safely","detachRefs","receiveComponent","nextElement","prevElement","_context","refsChanged","shouldUpdateRefs","DOMNamespaces","setInnerHTML","createMicrosoftUnsafeLocalFunction","setTextContent","enableLazy","documentMode","navigator","userAgent","test","insertTreeChildren","tree","insertTreeBefore","html","text","referenceNode","nodeName","namespaceURI","insertBefore","DOMLazyTree","replaceChildWithTree","oldNode","newTree","replaceChild","queueChild","parentTree","childTree","appendChild","queueHTML","queueText","validate","checkType","isRequired","componentNameSafe","propFullNameSafe","_len","_key","concat","chainedCheckType","validators","allPropTypes","_len2","_key2","validator","result","_createChainableTypeChecker","_extends","_activeElement2","_contains2","_inDOM2","_propTypes2","_componentOrElement2","_deprecated2","_elementType2","_react","_reactDom2","_warning2","_ModalManager2","_Portal2","_RefHolder2","_addEventListener2","_addFocusListener2","_getContainer2","_ownerDocument2","_classCallCheck","Constructor","_possibleConstructorReturn","ReferenceError","modalManager","Modal","_React$Component","_temp","_this","_initialiseProps","subClass","superClass","writable","configurable","setPrototypeOf","__proto__","_inherits","omitProps","propTypes","newProps","prop","render","_props","show","container","Transition","transition","backdrop","className","style","onExit","onExiting","onEnter","onEntering","onEntered","dialog","filteredProps","state","exited","_dialog$props","role","tabIndex","appear","unmountOnExit","onExited","handleHidden","setMountNode","onRendered","onPortalRendered","setModalNodeRef","renderBackdrop","setDialogRef","componentWillReceiveProps","nextProps","setState","componentWillUpdate","checkForFocus","componentDidMount","_isMounted","onShow","componentDidUpdate","prevProps","onHide","componentWillUnmount","_props2","autoFocus","dialogElement","getDialogElement","currentActiveElement","lastFocus","hasAttribute","setAttribute","focus","restoreLastFocus","findDOMNode","isTopModal","manager","bool","oneOfType","func","oneOf","onEscapeKeyDown","onEscapeKeyUp","onBackdropClick","backdropStyle","backdropClassName","string","containerClassName","keyboard","backdropTransition","enforceFocus","restoreFocus","_this2","_props3","onClick","handleBackdropClick","doc","body","add","_onDocumentKeydownListener","handleDocumentKeyDown","_onDocumentKeyupListener","handleDocumentKeyUp","_onFocusinListener","remove","mountNode","getMountNode","modalNode","_props4","Manager","EventPluginHub","EventPluginUtils","accumulateInto","forEachAccumulated","getListener","accumulateDirectionalDispatches","phase","listener","propagationPhase","registrationName","phasedRegistrationNames","listenerAtPhase","_dispatchListeners","_dispatchInstances","accumulateTwoPhaseDispatchesSingle","traverseTwoPhase","accumulateTwoPhaseDispatchesSingleSkipTarget","parentInst","getParentInstance","accumulateDispatches","ignoredDirection","accumulateDirectDispatchesSingle","EventPropagators","accumulateTwoPhaseDispatches","events","accumulateTwoPhaseDispatchesSkipTarget","accumulateDirectDispatches","accumulateEnterLeaveDispatches","leave","enter","traverseEnterLeave","EventPluginRegistry","ReactErrorUtils","listenerBank","eventQueue","executeDispatchesAndRelease","simulated","executeDispatchesInOrder","executeDispatchesAndReleaseSimulated","executeDispatchesAndReleaseTopLevel","getDictionaryKey","_rootNodeID","injectEventPluginOrder","injectEventPluginsByName","putListener","PluginModule","registrationNameModules","didPutListener","bankForRegistrationName","disabled","tag","shouldPreventMouseEvent","deleteListener","willDeleteListener","deleteAllListeners","extractEvents","topLevelType","plugins","possiblePlugin","extractedEvents","enqueueEvents","processEventQueue","processingEventQueue","rethrowCaughtError","__purge","__getListenerBank","getEventTarget","UIEventInterface","view","ownerDocument","defaultView","parentWindow","detail","SyntheticUIEvent","dispatchMarker","ReactInstanceMap","_reactInternalInstance","set","it","__g","isObject","contains","compareDocumentPosition","fallback","OBSERVED_ERROR","TransactionImpl","transactionWrappers","wrapperInitData","_isInTransaction","isInTransaction","errorThrown","ret","initializeAll","closeAll","startIndex","wrapper","initData","ViewportMetrics","MouseEventInterface","screenX","screenY","clientX","clientY","ctrlKey","shiftKey","altKey","metaKey","getModifierState","button","buttons","relatedTarget","fromElement","srcElement","toElement","pageX","currentScrollLeft","pageY","currentScrollTop","SyntheticMouseEvent","reusableSVGContainer","WHITESPACE_TEST","NONVISIBLE_TEST","svg","innerHTML","svgNode","testElement","textNode","data","removeChild","deleteData","matchHtmlRegExp","escape","str","match","exec","index","lastIndex","substring","escapeHtml","hasEventPageXY","ReactEventEmitterMixin","getVendorPrefixedEventName","isEventSupported","alreadyListeningTo","isMonitoringScrollValue","reactTopListenersCounter","topEventMapping","topAbort","topAnimationEnd","topAnimationIteration","topAnimationStart","topBlur","topCanPlay","topCanPlayThrough","topChange","topClick","topCompositionEnd","topCompositionStart","topCompositionUpdate","topContextMenu","topCopy","topCut","topDoubleClick","topDrag","topDragEnd","topDragEnter","topDragExit","topDragLeave","topDragOver","topDragStart","topDrop","topDurationChange","topEmptied","topEncrypted","topEnded","topError","topFocus","topInput","topKeyDown","topKeyPress","topKeyUp","topLoadedData","topLoadedMetadata","topLoadStart","topMouseDown","topMouseMove","topMouseOut","topMouseOver","topMouseUp","topPaste","topPause","topPlay","topPlaying","topProgress","topRateChange","topScroll","topSeeked","topSeeking","topSelectionChange","topStalled","topSuspend","topTextInput","topTimeUpdate","topTouchCancel","topTouchEnd","topTouchMove","topTouchStart","topTransitionEnd","topVolumeChange","topWaiting","topWheel","topListenersIDKey","ReactBrowserEventEmitter","ReactEventListener","injectReactEventListener","setHandleTopLevel","handleTopLevel","setEnabled","enabled","isEnabled","listenTo","contentDocumentHandle","mountAt","isListening","getListeningForDocument","dependencies","registrationNameDependencies","dependency","trapBubbledEvent","trapCapturedEvent","WINDOW_HANDLE","handlerBaseName","handle","supportsEventPageXY","createEvent","ev","ensureScrollValueMonitoring","refresh","refreshScrollValues","monitorScrollValue","defined","$keys","enumBugKeys","O","IObject","dP","createDesc","anObject","IE8_DOM_DEFINE","toPrimitive","Attributes","bitmap","componentOrElement","recalc","size","_inDOM","scrollDiv","position","top","width","height","overflow","offsetWidth","clientWidth","EXITING","ENTERED","ENTERING","EXITED","UNMOUNTED","newObj","desc","getOwnPropertyDescriptor","_interopRequireWildcard","_reactDom","_reactLifecyclesCompat","initialStatus","parentGroup","transitionGroup","isMounting","appearStatus","in","mountOnEnter","status","nextCallback","_proto","getChildContext","getDerivedStateFromProps","_ref","prevState","updateStatus","nextStatus","cancelNextCallback","getTimeouts","exit","timeout","mounting","performEnter","performExit","appearing","timeouts","enterTimeout","safeSetState","onTransitionEnd","_this3","cancel","nextState","setNextCallback","_this4","active","handler","doesNotHaveTimeoutOrListener","addEndListener","setTimeout","_this$props","childProps","excluded","sourceKeys","indexOf","_objectWithoutPropertiesLoose","child","noop","contextTypes","childContextTypes","polyfill","eventPluginOrder","namesToPlugins","recomputePluginOrdering","pluginName","pluginModule","pluginIndex","publishedEvents","eventTypes","eventName","publishEventForPlugin","eventNameDispatchConfigs","phaseName","publishRegistrationName","possibleRegistrationNames","injectedEventPluginOrder","injectedNamesToPlugins","isOrderingDirty","getPluginModuleForEvent","_resetEventPlugins","ComponentTree","TreeTraversal","executeDispatch","invokeGuardedCallbackWithCatch","invokeGuardedCallback","isEndish","isMoveish","isStartish","executeDirectDispatch","dispatchListener","dispatchInstance","res","dispatchListeners","dispatchInstances","executeDispatchesInOrderStopAtTrue","executeDispatchesInOrderStopAtTrueImpl","hasDispatches","isAncestor","getLowestCommonAncestor","fn","argFrom","argTo","injectComponentTree","Injected","injectTreeTraversal","caughtError","x","correspondingUseElement","useHasFeature","implementation","hasFeature","eventNameSuffix","capture","isSupported","modifierKeyToProp","Alt","Control","Meta","Shift","modifierStateGetter","keyArg","keyProp","Danger","getNodeAfter","insertChildAt","insertLazyTreeChildAt","moveChild","openingComment","closingComment","nextNode","moveDelimitedText","removeDelimitedText","startNode","DOMChildrenOperations","dangerouslyReplaceNodeWithMarkup","replaceDelimitedText","stringText","nodeAfterComment","createTextNode","processUpdates","updates","k","update","content","afterNode","fromNode","mathml","MSApp","execUnsafeLocalFunction","arg0","arg1","arg2","arg3","ReactPropTypesSecret","propTypesFactory","hasReadOnlyValue","checkbox","image","hidden","radio","submit","_assertSingleLink","inputProps","checkedLink","valueLink","_assertValueLink","onChange","_assertCheckedLink","checked","readOnly","loggedTypeFailures","getDeclarationErrorAddendum","LinkedValueUtils","checkPropTypes","tagName","getValue","getChecked","executeOnChange","requestChange","injected","ReactComponentEnvironment","replaceNodeWithMarkup","processChildrenUpdates","injectEnvironment","environment","is","y","objA","objB","keysA","keysB","prevEmpty","nextEmpty","prevType","nextType","KeyEscapeUtils","escaperLookup","unescape","unescaperLookup","getInternalInstanceReadyForUpdate","publicInstance","callerName","ReactUpdateQueue","isMounted","enqueueCallback","validateCallback","enqueueCallbackInternal","enqueueForceUpdate","_pendingForceUpdate","enqueueReplaceState","completeState","_pendingStateQueue","_pendingReplaceState","enqueueSetState","partialState","enqueueElementInternal","nextContext","_pendingElement","displayName","formatUnexpectedArgument","validateDOMNesting","ceil","floor","isNaN","shared","aFunction","that","on","off","removeEventListener","detachEvent","_typeof","iterator","propType","defaultContainer","_ownerDocument","activeElement","_isWindow2","fullWidth","innerWidth","documentElementRect","documentElement","getBoundingClientRect","right","abs","left","bodyIsOverflowing","scrollHeight","clientHeight","_on","_off","_filter","filter","_listen","listen","ReactNoopUpdateQueue","emptyObject","ReactComponent","updater","refs","ReactPureComponent","ComponentDummy","isReactComponent","forceUpdate","isPureReactComponent","next","arr","cb","contentKey","_callbacks","_contexts","_arg","contexts","checkpoint","rollback","isCheckable","elem","getTracker","_wrapperState","valueTracker","inputValueTracking","_getTrackerFromNode","track","valueField","descriptor","currentValue","tracker","attachTracker","setValue","stopTracking","detachTracker","updateValueIfChanged","lastValue","nextValue","supportedInputTypes","color","date","datetime","email","month","number","password","range","tel","url","week","scrollPosition","escapeTextContentForBrowser","lastChild","textContent","isUnitlessNumber","animationIterationCount","borderImageOutset","borderImageSlice","borderImageWidth","boxFlex","boxFlexGroup","boxOrdinalGroup","columnCount","columns","flex","flexGrow","flexPositive","flexShrink","flexNegative","flexOrder","gridRow","gridRowEnd","gridRowSpan","gridRowStart","gridColumn","gridColumnEnd","gridColumnSpan","gridColumnStart","fontWeight","lineClamp","lineHeight","opacity","order","orphans","tabSize","widows","zIndex","zoom","fillOpacity","floodOpacity","stopOpacity","strokeDasharray","strokeDashoffset","strokeMiterlimit","strokeOpacity","strokeWidth","prefixes","prefix","charAt","toUpperCase","prefixKey","CSSProperty","shorthandPropertyExpansions","background","backgroundAttachment","backgroundColor","backgroundImage","backgroundPositionX","backgroundPositionY","backgroundRepeat","backgroundPosition","border","borderWidth","borderStyle","borderColor","borderBottom","borderBottomWidth","borderBottomStyle","borderBottomColor","borderLeft","borderLeftWidth","borderLeftStyle","borderLeftColor","borderRight","borderRightWidth","borderRightStyle","borderRightColor","borderTop","borderTopWidth","borderTopStyle","borderTopColor","font","fontStyle","fontVariant","fontSize","fontFamily","outline","outlineWidth","outlineStyle","outlineColor","quoteAttributeValueForBrowser","VALID_ATTRIBUTE_NAME_REGEX","RegExp","illegalAttributeNameCache","validatedAttributeNameCache","isAttributeNameSafe","shouldIgnoreValue","DOMPropertyOperations","createMarkupForID","id","setAttributeForID","createMarkupForRoot","setAttributeForRoot","createMarkupForProperty","createMarkupForCustomAttribute","setValueForProperty","deleteValueForProperty","namespace","setAttributeNS","setValueForAttribute","removeAttribute","deleteValueForAttribute","didWarnValueDefaultValue","updateOptionsIfPendingUpdateAndMounted","pendingUpdate","updateOptions","Boolean","multiple","selectedValue","options","selected","ReactDOMSelect","getHostProps","mountWrapper","initialValue","defaultValue","listeners","_handleChange","wasMultiple","getSelectValueContext","postUpdateWrapper","cachedSetTimeout","cachedClearTimeout","process","defaultSetTimout","defaultClearTimeout","runTimeout","fun","clearTimeout","currentQueue","draining","queueIndex","cleanUpNextTick","drainQueue","run","marker","runClearTimeout","Item","array","nextTick","browser","env","argv","versions","addListener","once","removeListener","removeAllListeners","emit","prependListener","prependOnceListener","binding","cwd","chdir","dir","umask","ReactCompositeComponent","ReactEmptyComponent","ReactHostComponent","ReactCompositeComponentWrapper","construct","instantiateReactComponent","shouldHaveDebugID","info","createInternalComponent","isInternalComponentType","getNativeNode","createInstanceForText","_mountIndex","_mountImage","_instantiateReactComponent","ReactNodeTypes","HOST","COMPOSITE","EMPTY","getType","emptyComponentFactory","ReactEmptyComponentInjection","injectEmptyComponentFactory","instantiate","genericComponentClass","textComponentClass","isTextComponent","injectGenericComponentClass","componentClass","injectTextComponentClass","getIteratorFn","getComponentKey","traverseContext","traverseAllChildrenImpl","nameSoFar","subtreeCount","nextNamePrefix","iteratorFn","step","entries","ii","done","entry","childrenString","setItem","getItem","removeItem","getItemIDs","addRoot","removeRoot","getRootIDs","isNative","funcToString","reIsNative","Map","Set","itemMap","rootIDSet","item","itemByKey","rootByKey","getKeyFromID","getIDFromKey","parseInt","substr","unmountedIDs","purgeDeep","childIDs","describeComponentFrame","ownerName","fileName","lineNumber","getDisplayName","describeID","ReactComponentTreeHook","getElement","ownerID","getOwnerID","onSetChildren","nextChildIDs","nextChildID","nextChild","parentID","onBeforeMountComponent","updateCount","onBeforeUpdateComponent","onMountComponent","onUpdateComponent","onUnmountComponent","purgeUnmountedComponents","_preventPurging","getCurrentStackAddendum","topElement","currentOwner","_debugID","getStackAddendumByID","getParentID","getChildIDs","getSource","getText","getUpdateCount","getRegisteredIDs","pushNonStandardWarningStack","isCreatingElement","currentSource","reactStack","stack","popNonStandardWarningStack","reactStackEnd","EventListener","eventType","registerDefault","ReactDOMSelection","containsNode","focusNode","getActiveElement","ReactInputSelection","hasSelectionCapabilities","contentEditable","getSelectionInformation","focusedElem","selectionRange","getSelection","restoreSelection","priorSelectionInformation","curFocusedElem","priorFocusedElem","priorSelectionRange","setSelection","input","selection","start","selectionStart","end","selectionEnd","createRange","parentElement","moveStart","moveEnd","getOffsets","offsets","min","createTextRange","collapse","select","setOffsets","ReactDOMContainerInfo","ReactDOMFeatureFlags","ReactMarkupChecksum","shouldUpdateReactComponent","ROOT_ATTR_NAME","instancesByReactRootID","getReactRootElementInContainer","mountComponentIntoNode","wrapperInstance","shouldReuseMarkup","_topLevelWrapper","ReactMount","_mountImageIntoNode","batchedMountComponentIntoNode","componentInstance","useCreateElement","unmountComponentFromNode","hasNonRootReactChild","rootEl","isValidContainer","getTopLevelWrapperInContainer","root","prevHostInstance","getHostRootInstanceInContainer","_hostContainerInfo","topLevelRootCounter","TopLevelWrapper","rootID","_instancesByReactRootID","scrollMonitor","renderCallback","_updateRootComponent","prevComponent","_renderNewRootComponent","wrapperID","_instance","renderSubtreeIntoContainer","parentComponent","_renderSubtreeIntoContainer","nextWrappedElement","_processChildContext","publicInst","updatedCallback","unmountComponentAtNode","reactRootElement","containerHasReactMarkup","containerHasNonRootReactChild","rootElement","canReuseMarkup","checksum","CHECKSUM_ATTR_NAME","rootMarkup","outerHTML","normalizedMarkup","diffIndex","string1","string2","minLen","firstDifferenceIndex","difference","_renderedNodeType","cof","toInteger","copyright","px","valueOf","dPs","IE_PROTO","Empty","createDict","iframeDocument","iframe","display","src","contentWindow","open","write","lt","classList","baseVal","_camelize","msPattern","_on2","_off2","DESCRIPTORS","getKeys","toIObject","isEnum","isEntries","def","TAG","stat","uncontrollable","controlledValues","methods","isCompositeComponent","Utils","controlledProps","PROPS_TO_OMIT","defaultKey","UncontrolledComponent","handlers","handlerName","_notifying","_values","unmounted","attachRef","shouldComponentUpdate","componentWillMount","isProp","getControlledInstance","uncontrolledPropTypes","_inner","ControlledComponent","deferControlTo","newComponent","additions","nextMethods","RootCloseWrapper","addEventListeners","documentMouseCaptureListener","handleMouseCapture","documentMouseListener","handleMouse","documentKeyupListener","handleKeyUp","removeEventListeners","preventMouseRootClose","isLeftClickEvent","onRootClose","traverseAllChildren","userProvidedKeyEscapeRegex","escapeUserProvidedKey","ForEachBookKeeping","forEachFunction","forEachContext","forEachSingleChild","bookKeeping","MapBookKeeping","mapResult","keyPrefix","mapFunction","mapContext","mapSingleChildIntoContext","childKey","mappedChild","mapIntoWithKeyPrefixInternal","escapedPrefix","forEachSingleChildDummy","forEachFunc","ITERATOR_SYMBOL","maybeIterable","createDOMFactory","abbr","address","area","article","aside","audio","base","bdi","bdo","big","blockquote","br","canvas","caption","cite","col","colgroup","datalist","dd","del","details","dfn","div","dl","dt","em","embed","fieldset","figcaption","figure","footer","form","h1","h2","h3","h4","h5","h6","head","header","hgroup","hr","img","ins","kbd","keygen","label","legend","li","link","main","mark","menu","menuitem","meta","meter","nav","noscript","ol","optgroup","option","output","param","picture","pre","progress","q","rp","rt","ruby","samp","script","section","small","span","strong","sub","summary","sup","table","tbody","td","textarea","tfoot","th","thead","tr","u","ul","video","wbr","circle","clipPath","defs","ellipse","g","line","linearGradient","mask","path","pattern","polygon","polyline","radialGradient","rect","stop","tspan","ReactIs","emptyFunctionThatReturnsNull","throwOnDirectAccess","createPrimitiveTypeChecker","bigint","symbol","any","createChainableTypeChecker","arrayOf","typeChecker","PropTypeError","getPropType","elementType","instanceOf","expectedClass","expectedClassName","getClassName","isNode","objectOf","expectedValues","valuesString","JSON","stringify","getPreciseType","arrayOfTypeCheckers","checker","getPostfixForTypeWarning","expectedTypes","checkerResult","expectedType","shape","shapeTypes","invalidValidatorError","exact","allKeys","secret","every","isSymbol","resetWarningCache","for","h","v","w","z","A","AsyncMode","ConcurrentMode","ContextConsumer","ContextProvider","Element","ForwardRef","Fragment","Lazy","Memo","Portal","Profiler","StrictMode","Suspense","isAsyncMode","isConcurrentMode","isContextConsumer","isContextProvider","isElement","isForwardRef","isFragment","isLazy","isMemo","isPortal","isProfiler","isStrictMode","isSuspense","typeOf","typeSpecs","values","getStack","_invariant","injectedMixins","ReactClassInterface","mixins","statics","getDefaultProps","getInitialState","UNSAFE_componentWillMount","UNSAFE_componentWillReceiveProps","UNSAFE_componentWillUpdate","updateComponent","ReactClassStaticInterface","RESERVED_SPEC_KEYS","mixSpecIntoComponent","createMergedResultFunction","mixStaticSpecIntoComponent","autobind","validateMethodOverride","isAlreadyDefined","specPolicy","ReactClassMixin","spec","proto","autoBindPairs","__reactAutoBindPairs","isReactClassMethod","createChainedFunction","mergeIntoWithNoDuplicateKeys","one","two","bindAutoBindMethod","IsMountedPreMixin","__isMounted","IsMountedPostMixin","replaceState","newState","ReactClassComponent","pairs","autoBindKey","bindAutoBindMethods","initialState","methodName","ReactDefaultInjection","getHostComponentFromComposite","inject","ReactDOM","unstable_batchedUpdates","unstable_renderSubtreeIntoContainer","__REACT_DEVTOOLS_GLOBAL_HOOK__","Mount","Reconciler","ARIADOMPropertyConfig","BeforeInputEventPlugin","ChangeEventPlugin","DefaultEventPluginOrder","EnterLeaveEventPlugin","HTMLDOMPropertyConfig","ReactComponentBrowserEnvironment","ReactDOMComponent","ReactDOMEmptyComponent","ReactDOMTreeTraversal","ReactDOMTextComponent","ReactDefaultBatchingStrategy","ReactInjection","SVGDOMPropertyConfig","SelectEventPlugin","SimpleEventPlugin","alreadyInjected","EventEmitter","HostComponent","EmptyComponent","Updates","FallbackCompositionState","SyntheticCompositionEvent","SyntheticInputEvent","END_KEYCODES","canUseCompositionEvent","opera","canUseTextInputEvent","useFallbackCompositionData","SPACEBAR_CHAR","beforeInput","bubbled","captured","compositionEnd","compositionStart","compositionUpdate","hasSpaceKeypress","isFallbackCompositionEnd","getDataFromCustomEvent","currentComposition","extractCompositionEvent","fallbackData","getCompositionEventType","isFallbackCompositionStart","getData","customData","extractBeforeInputEvent","chars","getNativeBeforeInputChars","isKeypressCommand","getFallbackBeforeInputChars","getTextContentAccessor","_root","_startText","_fallbackText","startValue","startLength","endValue","endLength","minEnd","sliceTail","isTextInputElement","change","createAndAccumulateChangeEvent","activeElementInst","doesChangeEventBubble","manualDispatchChangeEvent","runEventInBatch","stopWatchingForChangeEventIE8","getInstIfValueChanged","updated","_allowSimulatedPassThrough","getTargetInstForChangeEvent","handleEventsForChangeEventIE8","startWatchingForChangeEventIE8","isInputEventSupported","stopWatchingForValueChange","handlePropertyChange","handleEventsForInputEventPolyfill","startWatchingForValueChange","getTargetInstForInputEventPolyfill","getTargetInstForClickEvent","getTargetInstForInputOrChangeEvent","_isInputEventSupported","getTargetInstFunc","handleEventFunc","targetNode","shouldUseClickEvent","controlled","handleControlledInputBlur","ReactOwner","addComponentAsRefTo","prevRef","prevOwner","nextRef","nextOwner","removeComponentAsRefFrom","detachRef","isValidOwner","ownerPublicInstance","mouseEnter","mouseLeave","win","related","toNode","accept","acceptCharset","accessKey","action","allowFullScreen","allowTransparency","alt","as","async","autoComplete","autoPlay","cellPadding","cellSpacing","charSet","challenge","classID","cols","colSpan","contextMenu","controls","controlsList","coords","crossOrigin","dateTime","defer","download","draggable","encType","formAction","formEncType","formMethod","formNoValidate","formTarget","frameBorder","headers","high","href","hrefLang","htmlFor","httpEquiv","icon","inputMode","integrity","keyParams","keyType","kind","lang","list","loop","low","manifest","marginHeight","marginWidth","max","maxLength","media","mediaGroup","minLength","muted","nonce","noValidate","optimum","placeholder","playsInline","poster","preload","profile","radioGroup","referrerPolicy","rel","required","reversed","rows","rowSpan","sandbox","scoped","scrolling","seamless","sizes","spellCheck","srcDoc","srcLang","srcSet","useMap","wmode","wrap","about","datatype","inlist","resource","vocab","autoCapitalize","autoCorrect","autoSave","itemProp","itemScope","itemType","itemID","itemRef","results","security","unselectable","validity","badInput","dangerouslyProcessChildrenUpdates","createNodesFromMarkup","oldChild","newChild","createArrayFromMixed","getMarkupWrap","dummyNode","nodeNamePattern","handleScript","nodeNameMatch","getNodeName","wrapDepth","scripts","getElementsByTagName","nodes","childNodes","hasArrayNature","callee","shouldWrap","selectWrap","tableWrap","trWrap","svgWrap","markupWrap","ReactDOMIDOperations","AutoFocusUtils","CSSPropertyOperations","ReactDOMInput","ReactDOMOption","ReactDOMTextarea","ReactMultiChild","ReactServerRenderingTransaction","getNode","CONTENT_TYPES","dangerouslySetInnerHTML","suppressContentEditableWarning","assertValidProps","voidElementTags","_tag","enqueuePutListener","containerInfo","_node","inputPostMount","postMountWrapper","textareaPostMount","optionPostMount","mediaEvents","trackInputValue","trapBubbledEventsLocal","postUpdateSelectWrapper","omittedCloseTags","newlineEatingTags","listing","VALID_TAG_REGEX","validatedTagCache","isCustomComponent","globalIdCounter","validateDangerousTag","_namespaceURI","_previousStyle","_previousStyleCopy","Mixin","_idCounter","parentTag","mountImage","el","createElementNS","_updateDOMProperties","lazyTree","_createInitialChildren","tagOpen","_createOpenTagMarkupAndPutListeners","tagContent","_createContentMarkup","focusDOMComponent","propKey","createMarkupForStyles","renderToStaticMarkup","__html","contentToUse","childrenToUse","mountChildren","mountImages","lastProps","_updateDOMChildren","updateWrapper","styleName","styleUpdates","lastStyle","nextProp","lastProp","setValueForStyles","lastContent","nextContent","lastHtml","nextHtml","lastChildren","nextChildren","lastHasContentOrHtml","nextHasContentOrHtml","updateChildren","updateTextContent","updateMarkup","unmountChildren","dangerousStyleValue","hyphenateStyleName","memoizeStringOnly","processStyleName","hasShorthandPropertyBug","styleFloatAccessor","tempStyle","cssFloat","styles","serialized","isCustomProperty","styleValue","setProperty","expansion","individualStyleName","camelize","_hyphenPattern","_","character","isNonNumeric","trim","hyphenate","_uppercasePattern","cache","runEventQueueInBatch","makePrefixMap","styleProp","vendorPrefixes","animationend","animationiteration","animationstart","transitionend","prefixedEventNames","animation","prefixMap","forceUpdateIfMounted","isControlled","defaultChecked","initialChecked","valueAsNumber","parseFloat","rootNode","queryRoot","group","querySelectorAll","otherNode","otherInstance","didWarnInvalidOptionChildren","flattenChildren","selectValue","selectParent","hostProps","newValue","ReactChildReconciler","processQueue","updateQueue","_reconcilerInstantiateChildren","nestedChildren","instantiateChildren","_reconcilerUpdateChildren","prevChildren","nextNestedChildrenElements","removedNodes","fromIndex","toIndex","nextMarkup","_updateChildren","nextIndex","nextMountIndex","lastPlacedNode","prevChild","_mountChildAtIndex","_unmountChild","renderedChildren","makeMove","createChild","makeInsertMarkup","makeRemove","instantiateChild","childInstances","selfDebugID","keyUnique","nestedChildNodes","nextChildInstance","nextChildMountImage","renderedChild","shallowEqual","CompositeTypes","StatelessComponent","warnIfInvalidElement","nextMountID","_compositeType","_calledComponentWillUnmount","renderedElement","publicProps","publicContext","_processContext","getUpdateQueue","doConstruct","shouldConstruct","_constructComponent","isPureComponent","unstable_handleError","performInitialMountWithErrorHandling","performInitialMount","_constructComponentWithoutOwner","_processPendingState","_renderValidatedComponent","_maskContext","maskedContext","contextName","currentContext","childContext","_checkContextTypes","prevContext","prevParentElement","nextParentElement","prevUnmaskedContext","nextUnmaskedContext","willReceive","shouldUpdate","_performComponentUpdate","partial","unmaskedContext","hasComponentDidUpdate","_updateRenderedComponent","prevComponentInstance","prevRenderedElement","nextRenderedElement","oldHostNode","_replaceNodeWithMarkup","prevInstance","_renderValidatedComponentWithoutOwnerOrContext","publicComponentInstance","nextDebugID","flattenSingleChildIntoContext","ReactServerUpdateQueue","noopCallbackQueue","domID","createComment","instA","instB","depthA","tempA","depthB","tempB","depth","common","pathFrom","pathTo","_stringText","_closingComment","_commentNodes","openingValue","createDocumentFragment","escapedText","nextText","nextStringText","commentNodes","hostNode","RESET_BATCHED_UPDATES","ReactDefaultBatchingStrategyTransaction","alreadyBatchingUpdates","getUnboundedScrollPosition","findParent","TopLevelCallbackBookKeeping","ancestors","handleTopLevelImpl","ancestor","_handleTopLevel","scrollValueMonitor","_enabled","dispatchEvent","scrollable","Window","pageXOffset","scrollLeft","pageYOffset","scrollTop","currentlyEnabled","previouslyEnabled","reactMountReady","getNodeForCharacterOffset","isCollapsed","anchorNode","anchorOffset","focusOffset","useIEOffsets","selectedRange","selectedLength","fromStart","duplicate","moveToElementText","setEndPoint","startOffset","rangeCount","currentRange","getRangeAt","startContainer","endContainer","rangeLength","tempRange","cloneRange","selectNodeContents","setEnd","endOffset","detectionRange","setStart","isBackward","collapsed","extend","temp","startMarker","endMarker","offset","removeAllRanges","addRange","getLeafNode","getSiblingNode","nodeStart","nodeEnd","isTextNode","outerNode","innerNode","Node","NS","ATTRS","accentHeight","accumulate","additive","alignmentBaseline","allowReorder","alphabetic","amplitude","arabicForm","ascent","attributeType","autoReverse","azimuth","baseFrequency","baseProfile","baselineShift","bbox","begin","bias","by","calcMode","capHeight","clip","clipRule","clipPathUnits","colorInterpolation","colorInterpolationFilters","colorProfile","colorRendering","contentScriptType","contentStyleType","cursor","cx","cy","decelerate","descent","diffuseConstant","direction","divisor","dominantBaseline","dur","dx","dy","edgeMode","elevation","enableBackground","exponent","externalResourcesRequired","fill","fillRule","filterRes","filterUnits","floodColor","focusable","fontSizeAdjust","fontStretch","fx","fy","g1","g2","glyphName","glyphOrientationHorizontal","glyphOrientationVertical","glyphRef","gradientTransform","gradientUnits","hanging","horizAdvX","horizOriginX","ideographic","imageRendering","in2","intercept","k1","k2","k3","k4","kernelMatrix","kernelUnitLength","kerning","keyPoints","keySplines","keyTimes","lengthAdjust","letterSpacing","lightingColor","limitingConeAngle","local","markerEnd","markerMid","markerStart","markerHeight","markerUnits","markerWidth","maskContentUnits","maskUnits","mathematical","numOctaves","operator","orient","orientation","origin","overlinePosition","overlineThickness","paintOrder","panose1","pathLength","patternContentUnits","patternTransform","patternUnits","pointerEvents","points","pointsAtX","pointsAtY","pointsAtZ","preserveAlpha","preserveAspectRatio","primitiveUnits","radius","refX","refY","renderingIntent","repeatCount","repeatDur","requiredExtensions","requiredFeatures","restart","rotate","rx","ry","scale","seed","shapeRendering","slope","spacing","specularConstant","specularExponent","speed","spreadMethod","stdDeviation","stemh","stemv","stitchTiles","stopColor","strikethroughPosition","strikethroughThickness","stroke","strokeLinecap","strokeLinejoin","surfaceScale","systemLanguage","tableValues","targetX","targetY","textAnchor","textDecoration","textRendering","textLength","transform","u1","u2","underlinePosition","underlineThickness","unicode","unicodeBidi","unicodeRange","unitsPerEm","vAlphabetic","vHanging","vIdeographic","vMathematical","vectorEffect","vertAdvY","vertOriginX","vertOriginY","viewBox","viewTarget","visibility","widths","wordSpacing","writingMode","xHeight","x1","x2","xChannelSelector","xlinkActuate","xlinkArcrole","xlinkHref","xlinkRole","xlinkShow","xlinkTitle","xlinkType","xmlBase","xmlns","xmlnsXlink","xmlLang","xmlSpace","y1","y2","yChannelSelector","zoomAndPan","skipSelectionChangeEvent","lastSelection","mouseDown","hasListener","constructSelectEvent","currentSelection","boundingTop","boundingLeft","syntheticEvent","SyntheticAnimationEvent","SyntheticClipboardEvent","SyntheticFocusEvent","SyntheticKeyboardEvent","SyntheticDragEvent","SyntheticTouchEvent","SyntheticTransitionEvent","SyntheticWheelEvent","getEventCharCode","topLevelEventsToDispatchConfig","capitalizedEvent","onEvent","topEvent","onClickListeners","isInteractive","EventConstructor","animationName","elapsedTime","pseudoElement","ClipboardEventInterface","clipboardData","KeyboardEventInterface","repeat","locale","normalizeKey","Esc","Spacebar","Left","Up","Right","Down","Del","Win","Menu","Apps","Scroll","MozPrintableKey","translateToKey","8","9","12","13","16","17","18","19","20","27","32","33","34","35","36","37","38","39","40","45","46","112","113","114","115","116","117","118","119","120","121","122","123","144","145","224","dataTransfer","TouchEventInterface","touches","targetTouches","changedTouches","deltaX","wheelDeltaX","deltaY","wheelDeltaY","wheelDelta","deltaZ","deltaMode","topLevelWrapper","useFiber","adler32","TAG_END","COMMENT_START","addChecksumToMarkup","existingChecksum","arrayIndexOf","toLength","toAbsoluteIndex","IS_INCLUDES","$this","fails","KEY","exp","$Object","D","defineProperties","check","buggy","pIE","gOPD","gOPS","$assign","K","T","aLen","getSymbols","selector","_querySelectorAll","some","_contains","found","maybeID","maybeClass","nameOnly","simpleSelectorRE","getElementById","getElementsByClassName","emptyFunctionWithReset","shim","getShim","deprecated","_warning","warned","reason","messageKey","_resetWarned","_class2","_style2","_scrollbarSize2","_isOverflowing2","_manageAriaHidden","findContainer","modal","modals","idx","setContainerStyle","paddingRight","overflowing","removeContainerStyle","ModalManager","_ref2","_ref2$hideSiblingNode","hideSiblingNodes","_ref2$handleContainer","handleContainerOverflow","modalIdx","containerIdx","containers","hideSiblings","addClass","removeClass","showSiblings","ariaHidden","_addClass","_removeClass","_hasClass","hasClass","replaceClassName","origClass","classToRemove","css","transforms","_camelizeStyle","_getComputedStyle2","getPropertyValue","_hyphenateStyle","_isTransform","_removeStyle","_properties","cssText","rHyphen","chr","_hyphenate","rUpper","opener","getComputedStyle","currentStyle","rnumnonpx","rposition","runStyle","runtimeStyle","rsLeft","pixelLeft","removeProperty","animationEnd","animationDelay","animationTiming","animationDuration","transitionEnd","transitionDuration","transitionDelay","transitionTiming","transitionProperty","_getTransitionPropert","vendorMap","Moz","Webkit","ms","vendors","vendor","getTransitionProperties","timing","delay","duration","supportedTransforms","siblings","BLACKLIST","mount","_LegacyPortal2","setContainer","_portalContainerNode","createPortal","_mountOverlayTarget","_overlayTarget","_unmountOverlayTarget","_renderOverlay","overlay","initialRender","_overlayInstance","_unrenderOverlay","RefHolder","useFocusin","$entries","__reactInternalSnapshotFlag","__reactInternalSnapshot","getSnapshotBeforeUpdate","foundWillMountName","foundWillReceivePropsName","foundWillUpdateName","newApiName","maybeSnapshot","snapshot","__suppressDeprecationWarning","classNamesShape","timeoutsShape","$values","$at","iterated","_t","_i","point","TO_STRING","pos","LIBRARY","redefine","Iterators","$iterCreate","setToStringTag","getPrototypeOf","ITERATOR","BUGGY","returnThis","Base","NAME","DEFAULT","IS_SET","FORCED","IteratorPrototype","getMethod","DEF_VALUES","VALUES_BUG","$native","$default","$anyNative","ObjectProto","isArrayIter","createProperty","getIterFn","iter","arrayLike","mapfn","mapping","iterFn","ArrayProto","$defineProperty","classof","getIteratorMethod","ARG","tryGet","SAFE_CLOSING","riter","skipClosing","safe","PnpGetData","$pnp","setup","sp","idsListas","parametrosPaginas","subsite","popovers","horarioContacto","tiposDocumento","beneficiosCondiciones","categoriasCaja","configuraciones","reglasCalculoSimulacion","trazabilidadCotizador","trazabilidadCotizadorDetalle","sedesSalud","sedes","especialidades","saludSedes","serviciosSedes","servicios","Configuraciones","listName","maxNumberOfElements","lookups","images","Promise","resolve","getListItems","encodeURI","then","items","Sedes","reject","Web","lists","getByTitle","query","fields","lookupFields","expand","promises","getRelatedImage","htmlValues","htmlValue","Util","PublishingImage","CSImagenLogoImage","getById","Id","all","subprop","reduce","groups","field","reverse","primer","isCallService","compensar","mostrarLoading","loadingElement","showLogs","urlPost","ServicioProxyTransar","service","request","params","getElements","response","parse","ResponseCode","ResponseDetail","groupEnd","mainObject","changeState","Result","executeCallback","quitarLoading","getErrorMessage","i18next","GetListData","mensaje","Response","CSValorNote","getMessagesError","getDataCatch","warn","_setPrototypeOf","_inheritsLoose","_assertThisInitialized","_fadeStyles","fadeStyles","Fade","innerProps","Size","SIZE_MAP","large","medium","xsmall","lg","md","sm","xs","Style","curry","last","variant","bsClass","defaultClass","bsStyles","defaultStyle","existing","STYLES","bsStyle","bsSizes","defaultSize","SIZES","mappedSize","bsSize","getClassSet","_classes","getBsProps","bsRole","isBsProp","splitBsProps","elementProps","splitBsPropsAndOmit","omittedPropNames","isOmittedProp","ModalBody","_splitBsProps","bsProps","dialogClassName","ModalDialog","_extends2","bsClassName","modalStyle","dialogClasses","ModalFooter","funcs","acc","CloseButton","closeLabel","closeButton","$bs_modal","ModalHeader","ModalTitle","splitComponentProps","componentPropTypes","parentProps","dialogComponentClass","DialogTransition","TRANSITION_DURATION","BackdropTransition","BACKDROP_TRANSITION_DURATION","handleEntering","handleExited","handleWindowResize","handleDialogClick","setModalRef","_modal","updateStyle","dialogNode","dialogHeight","modalIsOverflowing","paddingLeft","Dialog","_splitComponentProps","baseModalProps","dialogProps","inClassName","Body","Header","Title","Footer","onKeyDown","isTrivialHref","SafeAnchor","handleClick","handleKeyDown","_this$props2","block","Button","renderAnchor","renderButton","fullClassName","SUCCESS","WARNING","DANGER","INFO","ModalGeneral","handleHide","handleShow","showModal","aria-labelledby","MessageTitle","NoX","MainButtonAction","Icono","colorIco","msg","NoAceptar","MainButtonText","NoCancelar","AltButtonAction","AltButtonText","vertical","justified","ButtonGroup","find","pullRight","onClose","labelledBy","onSelect","rootCloseEvent","DropdownMenu","handleRootClose","getFocusableMenuItems","getItemsAndActiveIndex","activeIndex","focusNext","_this$getItemsAndActi","focusPrevious","_this$getItemsAndActi2","down","up","esc","tab","_splitBsPropsAndOmit","ValidComponentChildren","noCaret","useAnchor","DropdownToggle","useCaret","TOGGLE_ROLE","MENU_ROLE","dropup","roles","missing","requiredRoles","_len3","_key3","exclusiveRoles","defaultOpen","onToggle","onMouseEnter","onMouseLeave","Dropdown","handleClose","_focusInDropdown","lastOpenEventType","focusNextOnOpen","prevOpen","toggle","toggleOpen","eventDetails","renderMenu","renderToggle","UncontrolledDropdown","Toggle","DropdownButton","dropdownProps","toggleProps","divider","eventKey","MenuItem","HelpBlock","InputDecimal","Number","toFixed","setSelectionRange","handleChange","ModalConfirmData","CONST","MsgConfirm","Form","Cotizante","labelTiposDoc","TipoDocCotizante","documento","labelDocumento","DocCotizante","labelNombre","labelEmail","EMail","labelCelular","CelCotizante","sedesLabel","SedeCotizante","Nombre","Menor","TipoDocMenor","DocMenor","NombreMenor","labelPeso","PesoMenor","labelTalla","TallaMenor","labelEdad","EdadMenor","FormEscolar","tipo","sedesList","AutorizacionDatos","AutorizacionRecibir","InfoVeridica","activarBoton","TiposDocCotiz","TiposDoc","TiposDocMenor","sedesListSettings","SedesList","handleSelectTipoDoc","soloNumeros","handleChecks","handleEdadMenor","validarCampos","activeModal","Iconos","Colores","Azul","Bolean","False","True","inputStates","querySelector","inputEmail","validarEmail","Tipo","causa","activeModalConfirmData","placeholderTiposDoc","maxlength","placeholderDocumento","handleBasicInput","placeholderNombre","placeholderEmail","onKeyUp","placeholderCelular","placeholderSede","placeholderPeso","handleDecimalInput","helpPeso","placeholderTalla","helpTalla","placeholderEdad","MsgInfoVeridica","MsgAutorizacionDatos","MsgAutorizacionRecibir","showConfirmModal","Botones","Continuar","sendData","Index","titulo","Titulo","subtitulo","SubTitulo","titleModal","messageModal","noX","noAceptar","noCancelar","titleModalWrap","messageModalWrap","noXWrap","noAceptarWrap","noCancelarWrap","success","tipoSeleccion","modalActivo","loading","showHome","personasSeleccionadas","basepathurl","pathname","changeSelectionType","modalForm","handleModalClose","ErrorSistema","ResultadoEnviada","MsgSuccess","Exitoso","Verde","icono","iconoModal","modalConfirmacion","modalGenerado","getSedes","RegistrarAuditoria","log","InitHome","Buttons","Cerrar"],"mappings":"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","file":"transacciones.solicitudCertificadoEscolar.js","sourcesContent":[" \t// The module cache\n \tvar installedModules = {};\n\n \t// The require function\n \tfunction __webpack_require__(moduleId) {\n\n \t\t// Check if module is in cache\n \t\tif(installedModules[moduleId]) {\n \t\t\treturn installedModules[moduleId].exports;\n \t\t}\n \t\t// Create a new module (and put it into the cache)\n \t\tvar module = installedModules[moduleId] = {\n \t\t\ti: moduleId,\n \t\t\tl: false,\n \t\t\texports: {}\n \t\t};\n\n \t\t// Execute the module function\n \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n \t\t// Flag the module as loaded\n \t\tmodule.l = true;\n\n \t\t// Return the exports of the module\n \t\treturn module.exports;\n \t}\n\n\n \t// expose the modules object (__webpack_modules__)\n \t__webpack_require__.m = modules;\n\n \t// expose the module cache\n \t__webpack_require__.c = installedModules;\n\n \t// define getter function for harmony exports\n \t__webpack_require__.d = function(exports, name, getter) {\n \t\tif(!__webpack_require__.o(exports, name)) {\n \t\t\tObject.defineProperty(exports, name, { enumerable: true, get: getter });\n \t\t}\n \t};\n\n \t// define __esModule on exports\n \t__webpack_require__.r = function(exports) {\n \t\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n \t\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n \t\t}\n \t\tObject.defineProperty(exports, '__esModule', { value: true });\n \t};\n\n \t// create a fake namespace object\n \t// mode & 1: value is a module id, require it\n \t// mode & 2: merge all properties of value into the ns\n \t// mode & 4: return value when already ns object\n \t// mode & 8|1: behave like require\n \t__webpack_require__.t = function(value, mode) {\n \t\tif(mode & 1) value = __webpack_require__(value);\n \t\tif(mode & 8) return value;\n \t\tif((mode & 4) && typeof value === 'object' && value && value.__esModule) return value;\n \t\tvar ns = Object.create(null);\n \t\t__webpack_require__.r(ns);\n \t\tObject.defineProperty(ns, 'default', { enumerable: true, value: value });\n \t\tif(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key));\n \t\treturn ns;\n \t};\n\n \t// getDefaultExport function for compatibility with non-harmony modules\n \t__webpack_require__.n = function(module) {\n \t\tvar getter = module && module.__esModule ?\n \t\t\tfunction getDefault() { return module['default']; } :\n \t\t\tfunction getModuleExports() { return module; };\n \t\t__webpack_require__.d(getter, 'a', getter);\n \t\treturn getter;\n \t};\n\n \t// Object.prototype.hasOwnProperty.call\n \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n\n \t// __webpack_public_path__\n \t__webpack_require__.p = \"\";\n\n\n \t// Load entry module and return exports\n \treturn __webpack_require__(__webpack_require__.s = 307);\n","'use strict';\n\nmodule.exports = require('./lib/React');\n","/**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\nif (process.env.NODE_ENV !== 'production') {\n var ReactIs = require('react-is');\n\n // By explicitly using `prop-types` you are opting into new development behavior.\n // http://fb.me/prop-types-in-prod\n var throwOnDirectAccess = true;\n module.exports = require('./factoryWithTypeCheckers')(ReactIs.isElement, throwOnDirectAccess);\n} else {\n // By explicitly using `prop-types` you are opting into new production behavior.\n // http://fb.me/prop-types-in-prod\n module.exports = require('./factoryWithThrowingShims')();\n}\n","/**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n */\n\n'use strict';\n\n/**\n * Use invariant() to assert state which your program assumes to be true.\n *\n * Provide sprintf-style format (only %s is supported) and arguments\n * to provide information about what broke and what you were\n * expecting.\n *\n * The invariant message will be stripped in production, but the invariant\n * will remain to ensure logic does not differ in production.\n */\n\nvar validateFormat = function validateFormat(format) {};\n\nif (process.env.NODE_ENV !== 'production') {\n validateFormat = function validateFormat(format) {\n if (format === undefined) {\n throw new Error('invariant requires an error message argument');\n }\n };\n}\n\nfunction invariant(condition, format, a, b, c, d, e, f) {\n validateFormat(format);\n\n if (!condition) {\n var error;\n if (format === undefined) {\n error = new Error('Minified exception occurred; use the non-minified dev environment ' + 'for the full error message and additional helpful warnings.');\n } else {\n var args = [a, b, c, d, e, f];\n var argIndex = 0;\n error = new Error(format.replace(/%s/g, function () {\n return args[argIndex++];\n }));\n error.name = 'Invariant Violation';\n }\n\n error.framesToPop = 1; // we don't care about invariant's own frame\n throw error;\n }\n}\n\nmodule.exports = invariant;","/*!\n\tCopyright (c) 2018 Jed Watson.\n\tLicensed under the MIT License (MIT), see\n\thttp://jedwatson.github.io/classnames\n*/\n/* global define */\n\n(function () {\n\t'use strict';\n\n\tvar hasOwn = {}.hasOwnProperty;\n\tvar nativeCodeString = '[native code]';\n\n\tfunction classNames() {\n\t\tvar classes = [];\n\n\t\tfor (var i = 0; i < arguments.length; i++) {\n\t\t\tvar arg = arguments[i];\n\t\t\tif (!arg) continue;\n\n\t\t\tvar argType = typeof arg;\n\n\t\t\tif (argType === 'string' || argType === 'number') {\n\t\t\t\tclasses.push(arg);\n\t\t\t} else if (Array.isArray(arg)) {\n\t\t\t\tif (arg.length) {\n\t\t\t\t\tvar inner = classNames.apply(null, arg);\n\t\t\t\t\tif (inner) {\n\t\t\t\t\t\tclasses.push(inner);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t} else if (argType === 'object') {\n\t\t\t\tif (arg.toString !== Object.prototype.toString && !arg.toString.toString().includes('[native code]')) {\n\t\t\t\t\tclasses.push(arg.toString());\n\t\t\t\t\tcontinue;\n\t\t\t\t}\n\n\t\t\t\tfor (var key in arg) {\n\t\t\t\t\tif (hasOwn.call(arg, key) && arg[key]) {\n\t\t\t\t\t\tclasses.push(key);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\treturn classes.join(' ');\n\t}\n\n\tif (typeof module !== 'undefined' && module.exports) {\n\t\tclassNames.default = classNames;\n\t\tmodule.exports = classNames;\n\t} else if (typeof define === 'function' && typeof define.amd === 'object' && define.amd) {\n\t\t// register as 'classnames', consistent with npm package name\n\t\tdefine('classnames', [], function () {\n\t\t\treturn classNames;\n\t\t});\n\t} else {\n\t\twindow.classNames = classNames;\n\t}\n}());\n","/**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * \n */\n'use strict';\n\n/**\n * WARNING: DO NOT manually require this module.\n * This is a replacement for `invariant(...)` used by the error code system\n * and will _only_ be required by the corresponding babel pass.\n * It always throws.\n */\n\nfunction reactProdInvariant(code) {\n var argCount = arguments.length - 1;\n\n var message = 'Minified React error #' + code + '; visit ' + 'http://facebook.github.io/react/docs/error-decoder.html?invariant=' + code;\n\n for (var argIdx = 0; argIdx < argCount; argIdx++) {\n message += '&args[]=' + encodeURIComponent(arguments[argIdx + 1]);\n }\n\n message += ' for the full message or use the non-minified dev environment' + ' for full errors and additional helpful warnings.';\n\n var error = new Error(message);\n error.name = 'Invariant Violation';\n error.framesToPop = 1; // we don't care about reactProdInvariant's own frame\n\n throw error;\n}\n\nmodule.exports = reactProdInvariant;","/**\n * Copyright (c) 2014-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n */\n\n'use strict';\n\nvar emptyFunction = require('./emptyFunction');\n\n/**\n * Similar to invariant but only logs a warning if the condition is not met.\n * This can be used to log issues in development environments in critical\n * paths. Removing the logging code for production environments will keep the\n * same logic and follow the same code paths.\n */\n\nvar warning = emptyFunction;\n\nif (process.env.NODE_ENV !== 'production') {\n var printWarning = function printWarning(format) {\n for (var _len = arguments.length, args = Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {\n args[_key - 1] = arguments[_key];\n }\n\n var argIndex = 0;\n var message = 'Warning: ' + format.replace(/%s/g, function () {\n return args[argIndex++];\n });\n if (typeof console !== 'undefined') {\n console.error(message);\n }\n try {\n // --- Welcome to debugging React ---\n // This error was thrown as a convenience so that you can use this stack\n // to find the callsite that caused this warning to fire.\n throw new Error(message);\n } catch (x) {}\n };\n\n warning = function warning(condition, format) {\n if (format === undefined) {\n throw new Error('`warning(condition, format, ...args)` requires a warning ' + 'message argument');\n }\n\n if (format.indexOf('Failed Composite propType: ') === 0) {\n return; // Ignore CompositeComponent proptype check.\n }\n\n if (!condition) {\n for (var _len2 = arguments.length, args = Array(_len2 > 2 ? _len2 - 2 : 0), _key2 = 2; _key2 < _len2; _key2++) {\n args[_key2 - 2] = arguments[_key2];\n }\n\n printWarning.apply(undefined, [format].concat(args));\n }\n };\n}\n\nmodule.exports = warning;","/*\nobject-assign\n(c) Sindre Sorhus\n@license MIT\n*/\n\n'use strict';\n/* eslint-disable no-unused-vars */\nvar getOwnPropertySymbols = Object.getOwnPropertySymbols;\nvar hasOwnProperty = Object.prototype.hasOwnProperty;\nvar propIsEnumerable = Object.prototype.propertyIsEnumerable;\n\nfunction toObject(val) {\n\tif (val === null || val === undefined) {\n\t\tthrow new TypeError('Object.assign cannot be called with null or undefined');\n\t}\n\n\treturn Object(val);\n}\n\nfunction shouldUseNative() {\n\ttry {\n\t\tif (!Object.assign) {\n\t\t\treturn false;\n\t\t}\n\n\t\t// Detect buggy property enumeration order in older V8 versions.\n\n\t\t// https://bugs.chromium.org/p/v8/issues/detail?id=4118\n\t\tvar test1 = new String('abc'); // eslint-disable-line no-new-wrappers\n\t\ttest1[5] = 'de';\n\t\tif (Object.getOwnPropertyNames(test1)[0] === '5') {\n\t\t\treturn false;\n\t\t}\n\n\t\t// https://bugs.chromium.org/p/v8/issues/detail?id=3056\n\t\tvar test2 = {};\n\t\tfor (var i = 0; i < 10; i++) {\n\t\t\ttest2['_' + String.fromCharCode(i)] = i;\n\t\t}\n\t\tvar order2 = Object.getOwnPropertyNames(test2).map(function (n) {\n\t\t\treturn test2[n];\n\t\t});\n\t\tif (order2.join('') !== '0123456789') {\n\t\t\treturn false;\n\t\t}\n\n\t\t// https://bugs.chromium.org/p/v8/issues/detail?id=3056\n\t\tvar test3 = {};\n\t\t'abcdefghijklmnopqrst'.split('').forEach(function (letter) {\n\t\t\ttest3[letter] = letter;\n\t\t});\n\t\tif (Object.keys(Object.assign({}, test3)).join('') !==\n\t\t\t\t'abcdefghijklmnopqrst') {\n\t\t\treturn false;\n\t\t}\n\n\t\treturn true;\n\t} catch (err) {\n\t\t// We don't expect any of the above to throw, but better to be safe.\n\t\treturn false;\n\t}\n}\n\nmodule.exports = shouldUseNative() ? Object.assign : function (target, source) {\n\tvar from;\n\tvar to = toObject(target);\n\tvar symbols;\n\n\tfor (var s = 1; s < arguments.length; s++) {\n\t\tfrom = Object(arguments[s]);\n\n\t\tfor (var key in from) {\n\t\t\tif (hasOwnProperty.call(from, key)) {\n\t\t\t\tto[key] = from[key];\n\t\t\t}\n\t\t}\n\n\t\tif (getOwnPropertySymbols) {\n\t\t\tsymbols = getOwnPropertySymbols(from);\n\t\t\tfor (var i = 0; i < symbols.length; i++) {\n\t\t\t\tif (propIsEnumerable.call(from, symbols[i])) {\n\t\t\t\t\tto[symbols[i]] = from[symbols[i]];\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\n\treturn to;\n};\n","/**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n */\n\n'use strict';\n\nvar _prodInvariant = require('./reactProdInvariant');\n\nvar DOMProperty = require('./DOMProperty');\nvar ReactDOMComponentFlags = require('./ReactDOMComponentFlags');\n\nvar invariant = require('fbjs/lib/invariant');\n\nvar ATTR_NAME = DOMProperty.ID_ATTRIBUTE_NAME;\nvar Flags = ReactDOMComponentFlags;\n\nvar internalInstanceKey = '__reactInternalInstance$' + Math.random().toString(36).slice(2);\n\n/**\n * Check if a given node should be cached.\n */\nfunction shouldPrecacheNode(node, nodeID) {\n return node.nodeType === 1 && node.getAttribute(ATTR_NAME) === String(nodeID) || node.nodeType === 8 && node.nodeValue === ' react-text: ' + nodeID + ' ' || node.nodeType === 8 && node.nodeValue === ' react-empty: ' + nodeID + ' ';\n}\n\n/**\n * Drill down (through composites and empty components) until we get a host or\n * host text component.\n *\n * This is pretty polymorphic but unavoidable with the current structure we have\n * for `_renderedChildren`.\n */\nfunction getRenderedHostOrTextFromComponent(component) {\n var rendered;\n while (rendered = component._renderedComponent) {\n component = rendered;\n }\n return component;\n}\n\n/**\n * Populate `_hostNode` on the rendered host/text component with the given\n * DOM node. The passed `inst` can be a composite.\n */\nfunction precacheNode(inst, node) {\n var hostInst = getRenderedHostOrTextFromComponent(inst);\n hostInst._hostNode = node;\n node[internalInstanceKey] = hostInst;\n}\n\nfunction uncacheNode(inst) {\n var node = inst._hostNode;\n if (node) {\n delete node[internalInstanceKey];\n inst._hostNode = null;\n }\n}\n\n/**\n * Populate `_hostNode` on each child of `inst`, assuming that the children\n * match up with the DOM (element) children of `node`.\n *\n * We cache entire levels at once to avoid an n^2 problem where we access the\n * children of a node sequentially and have to walk from the start to our target\n * node every time.\n *\n * Since we update `_renderedChildren` and the actual DOM at (slightly)\n * different times, we could race here and see a newer `_renderedChildren` than\n * the DOM nodes we see. To avoid this, ReactMultiChild calls\n * `prepareToManageChildren` before we change `_renderedChildren`, at which\n * time the container's child nodes are always cached (until it unmounts).\n */\nfunction precacheChildNodes(inst, node) {\n if (inst._flags & Flags.hasCachedChildNodes) {\n return;\n }\n var children = inst._renderedChildren;\n var childNode = node.firstChild;\n outer: for (var name in children) {\n if (!children.hasOwnProperty(name)) {\n continue;\n }\n var childInst = children[name];\n var childID = getRenderedHostOrTextFromComponent(childInst)._domID;\n if (childID === 0) {\n // We're currently unmounting this child in ReactMultiChild; skip it.\n continue;\n }\n // We assume the child nodes are in the same order as the child instances.\n for (; childNode !== null; childNode = childNode.nextSibling) {\n if (shouldPrecacheNode(childNode, childID)) {\n precacheNode(childInst, childNode);\n continue outer;\n }\n }\n // We reached the end of the DOM children without finding an ID match.\n !false ? process.env.NODE_ENV !== 'production' ? invariant(false, 'Unable to find element with ID %s.', childID) : _prodInvariant('32', childID) : void 0;\n }\n inst._flags |= Flags.hasCachedChildNodes;\n}\n\n/**\n * Given a DOM node, return the closest ReactDOMComponent or\n * ReactDOMTextComponent instance ancestor.\n */\nfunction getClosestInstanceFromNode(node) {\n if (node[internalInstanceKey]) {\n return node[internalInstanceKey];\n }\n\n // Walk up the tree until we find an ancestor whose instance we have cached.\n var parents = [];\n while (!node[internalInstanceKey]) {\n parents.push(node);\n if (node.parentNode) {\n node = node.parentNode;\n } else {\n // Top of the tree. This node must not be part of a React tree (or is\n // unmounted, potentially).\n return null;\n }\n }\n\n var closest;\n var inst;\n for (; node && (inst = node[internalInstanceKey]); node = parents.pop()) {\n closest = inst;\n if (parents.length) {\n precacheChildNodes(inst, node);\n }\n }\n\n return closest;\n}\n\n/**\n * Given a DOM node, return the ReactDOMComponent or ReactDOMTextComponent\n * instance, or null if the node was not rendered by this React.\n */\nfunction getInstanceFromNode(node) {\n var inst = getClosestInstanceFromNode(node);\n if (inst != null && inst._hostNode === node) {\n return inst;\n } else {\n return null;\n }\n}\n\n/**\n * Given a ReactDOMComponent or ReactDOMTextComponent, return the corresponding\n * DOM node.\n */\nfunction getNodeFromInstance(inst) {\n // Without this first invariant, passing a non-DOM-component triggers the next\n // invariant for a missing parent, which is super confusing.\n !(inst._hostNode !== undefined) ? process.env.NODE_ENV !== 'production' ? invariant(false, 'getNodeFromInstance: Invalid argument.') : _prodInvariant('33') : void 0;\n\n if (inst._hostNode) {\n return inst._hostNode;\n }\n\n // Walk up the tree until we find an ancestor whose DOM node we have cached.\n var parents = [];\n while (!inst._hostNode) {\n parents.push(inst);\n !inst._hostParent ? process.env.NODE_ENV !== 'production' ? invariant(false, 'React DOM tree root should always have a node reference.') : _prodInvariant('34') : void 0;\n inst = inst._hostParent;\n }\n\n // Now parents contains each ancestor that does *not* have a cached native\n // node, and `inst` is the deepest ancestor that does.\n for (; parents.length; inst = parents.pop()) {\n precacheChildNodes(inst, inst._hostNode);\n }\n\n return inst._hostNode;\n}\n\nvar ReactDOMComponentTree = {\n getClosestInstanceFromNode: getClosestInstanceFromNode,\n getInstanceFromNode: getInstanceFromNode,\n getNodeFromInstance: getNodeFromInstance,\n precacheChildNodes: precacheChildNodes,\n precacheNode: precacheNode,\n uncacheNode: uncacheNode\n};\n\nmodule.exports = ReactDOMComponentTree;","'use strict';\n\nmodule.exports = require('./lib/ReactDOM');\n","function _interopRequireDefault(obj) {\n return obj && obj.__esModule ? obj : {\n \"default\": obj\n };\n}\nmodule.exports = _interopRequireDefault, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _react = require('react');\n\nvar _react2 = _interopRequireDefault(_react);\n\nvar _reactIs = require('react-is');\n\nvar _createChainableTypeChecker = require('./utils/createChainableTypeChecker');\n\nvar _createChainableTypeChecker2 = _interopRequireDefault(_createChainableTypeChecker);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction elementType(props, propName, componentName, location, propFullName) {\n var propValue = props[propName];\n\n if (_react2.default.isValidElement(propValue)) {\n return new Error('Invalid ' + location + ' `' + propFullName + '` of type ReactElement ' + ('supplied to `' + componentName + '`,expected an element type (a string ') + ', component class, or function component).');\n }\n\n if (!(0, _reactIs.isValidElementType)(propValue)) {\n return new Error('Invalid ' + location + ' `' + propFullName + '` of value `' + propValue + '` ' + ('supplied to `' + componentName + '`, expected an element type (a string ') + ', component class, or function component).');\n }\n\n return null;\n}\n\nexports.default = (0, _createChainableTypeChecker2.default)(elementType);\nmodule.exports = exports['default'];","/**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n */\n\n'use strict';\n\nvar canUseDOM = !!(typeof window !== 'undefined' && window.document && window.document.createElement);\n\n/**\n * Simple, lightweight module assisting with the detection and context of\n * Worker. Helps avoid circular dependencies and allows code to reason about\n * whether or not they are in a Worker, even if they never include the main\n * `ReactWorker` dependency.\n */\nvar ExecutionEnvironment = {\n\n canUseDOM: canUseDOM,\n\n canUseWorkers: typeof Worker !== 'undefined',\n\n canUseEventListeners: canUseDOM && !!(window.addEventListener || window.attachEvent),\n\n canUseViewport: canUseDOM && !!window.screen,\n\n isInWorker: !canUseDOM // For now, this is true - might change in the future.\n\n};\n\nmodule.exports = ExecutionEnvironment;","/**\n * Copyright (c) 2016-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * \n */\n\n'use strict';\n\n// Trust the developer to only use ReactInstrumentation with a __DEV__ check\n\nvar debugTool = null;\n\nif (process.env.NODE_ENV !== 'production') {\n var ReactDebugTool = require('./ReactDebugTool');\n debugTool = ReactDebugTool;\n}\n\nmodule.exports = { debugTool: debugTool };","var core = module.exports = { version: '2.6.12' };\nif (typeof __e == 'number') __e = core; // eslint-disable-line no-undef\n","\"use strict\";\n\n/**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * \n */\n\nfunction makeEmptyFunction(arg) {\n return function () {\n return arg;\n };\n}\n\n/**\n * This function accepts and discards inputs; it has no side effects. This is\n * primarily useful idiomatically for overridable function endpoints which\n * always need to be callable, since JS lacks a null-call idiom ala Cocoa.\n */\nvar emptyFunction = function emptyFunction() {};\n\nemptyFunction.thatReturns = makeEmptyFunction;\nemptyFunction.thatReturnsFalse = makeEmptyFunction(false);\nemptyFunction.thatReturnsTrue = makeEmptyFunction(true);\nemptyFunction.thatReturnsNull = makeEmptyFunction(null);\nemptyFunction.thatReturnsThis = function () {\n return this;\n};\nemptyFunction.thatReturnsArgument = function (arg) {\n return arg;\n};\n\nmodule.exports = emptyFunction;","/**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n */\n\n'use strict';\n\nvar _prodInvariant = require('./reactProdInvariant'),\n _assign = require('object-assign');\n\nvar CallbackQueue = require('./CallbackQueue');\nvar PooledClass = require('./PooledClass');\nvar ReactFeatureFlags = require('./ReactFeatureFlags');\nvar ReactReconciler = require('./ReactReconciler');\nvar Transaction = require('./Transaction');\n\nvar invariant = require('fbjs/lib/invariant');\n\nvar dirtyComponents = [];\nvar updateBatchNumber = 0;\nvar asapCallbackQueue = CallbackQueue.getPooled();\nvar asapEnqueued = false;\n\nvar batchingStrategy = null;\n\nfunction ensureInjected() {\n !(ReactUpdates.ReactReconcileTransaction && batchingStrategy) ? process.env.NODE_ENV !== 'production' ? invariant(false, 'ReactUpdates: must inject a reconcile transaction class and batching strategy') : _prodInvariant('123') : void 0;\n}\n\nvar NESTED_UPDATES = {\n initialize: function () {\n this.dirtyComponentsLength = dirtyComponents.length;\n },\n close: function () {\n if (this.dirtyComponentsLength !== dirtyComponents.length) {\n // Additional updates were enqueued by componentDidUpdate handlers or\n // similar; before our own UPDATE_QUEUEING wrapper closes, we want to run\n // these new updates so that if A's componentDidUpdate calls setState on\n // B, B will update before the callback A's updater provided when calling\n // setState.\n dirtyComponents.splice(0, this.dirtyComponentsLength);\n flushBatchedUpdates();\n } else {\n dirtyComponents.length = 0;\n }\n }\n};\n\nvar UPDATE_QUEUEING = {\n initialize: function () {\n this.callbackQueue.reset();\n },\n close: function () {\n this.callbackQueue.notifyAll();\n }\n};\n\nvar TRANSACTION_WRAPPERS = [NESTED_UPDATES, UPDATE_QUEUEING];\n\nfunction ReactUpdatesFlushTransaction() {\n this.reinitializeTransaction();\n this.dirtyComponentsLength = null;\n this.callbackQueue = CallbackQueue.getPooled();\n this.reconcileTransaction = ReactUpdates.ReactReconcileTransaction.getPooled(\n /* useCreateElement */true);\n}\n\n_assign(ReactUpdatesFlushTransaction.prototype, Transaction, {\n getTransactionWrappers: function () {\n return TRANSACTION_WRAPPERS;\n },\n\n destructor: function () {\n this.dirtyComponentsLength = null;\n CallbackQueue.release(this.callbackQueue);\n this.callbackQueue = null;\n ReactUpdates.ReactReconcileTransaction.release(this.reconcileTransaction);\n this.reconcileTransaction = null;\n },\n\n perform: function (method, scope, a) {\n // Essentially calls `this.reconcileTransaction.perform(method, scope, a)`\n // with this transaction's wrappers around it.\n return Transaction.perform.call(this, this.reconcileTransaction.perform, this.reconcileTransaction, method, scope, a);\n }\n});\n\nPooledClass.addPoolingTo(ReactUpdatesFlushTransaction);\n\nfunction batchedUpdates(callback, a, b, c, d, e) {\n ensureInjected();\n return batchingStrategy.batchedUpdates(callback, a, b, c, d, e);\n}\n\n/**\n * Array comparator for ReactComponents by mount ordering.\n *\n * @param {ReactComponent} c1 first component you're comparing\n * @param {ReactComponent} c2 second component you're comparing\n * @return {number} Return value usable by Array.prototype.sort().\n */\nfunction mountOrderComparator(c1, c2) {\n return c1._mountOrder - c2._mountOrder;\n}\n\nfunction runBatchedUpdates(transaction) {\n var len = transaction.dirtyComponentsLength;\n !(len === dirtyComponents.length) ? process.env.NODE_ENV !== 'production' ? invariant(false, 'Expected flush transaction\\'s stored dirty-components length (%s) to match dirty-components array length (%s).', len, dirtyComponents.length) : _prodInvariant('124', len, dirtyComponents.length) : void 0;\n\n // Since reconciling a component higher in the owner hierarchy usually (not\n // always -- see shouldComponentUpdate()) will reconcile children, reconcile\n // them before their children by sorting the array.\n dirtyComponents.sort(mountOrderComparator);\n\n // Any updates enqueued while reconciling must be performed after this entire\n // batch. Otherwise, if dirtyComponents is [A, B] where A has children B and\n // C, B could update twice in a single batch if C's render enqueues an update\n // to B (since B would have already updated, we should skip it, and the only\n // way we can know to do so is by checking the batch counter).\n updateBatchNumber++;\n\n for (var i = 0; i < len; i++) {\n // If a component is unmounted before pending changes apply, it will still\n // be here, but we assume that it has cleared its _pendingCallbacks and\n // that performUpdateIfNecessary is a noop.\n var component = dirtyComponents[i];\n\n // If performUpdateIfNecessary happens to enqueue any new updates, we\n // shouldn't execute the callbacks until the next render happens, so\n // stash the callbacks first\n var callbacks = component._pendingCallbacks;\n component._pendingCallbacks = null;\n\n var markerName;\n if (ReactFeatureFlags.logTopLevelRenders) {\n var namedComponent = component;\n // Duck type TopLevelWrapper. This is probably always true.\n if (component._currentElement.type.isReactTopLevelWrapper) {\n namedComponent = component._renderedComponent;\n }\n markerName = 'React update: ' + namedComponent.getName();\n console.time(markerName);\n }\n\n ReactReconciler.performUpdateIfNecessary(component, transaction.reconcileTransaction, updateBatchNumber);\n\n if (markerName) {\n console.timeEnd(markerName);\n }\n\n if (callbacks) {\n for (var j = 0; j < callbacks.length; j++) {\n transaction.callbackQueue.enqueue(callbacks[j], component.getPublicInstance());\n }\n }\n }\n}\n\nvar flushBatchedUpdates = function () {\n // ReactUpdatesFlushTransaction's wrappers will clear the dirtyComponents\n // array and perform any updates enqueued by mount-ready handlers (i.e.,\n // componentDidUpdate) but we need to check here too in order to catch\n // updates enqueued by setState callbacks and asap calls.\n while (dirtyComponents.length || asapEnqueued) {\n if (dirtyComponents.length) {\n var transaction = ReactUpdatesFlushTransaction.getPooled();\n transaction.perform(runBatchedUpdates, null, transaction);\n ReactUpdatesFlushTransaction.release(transaction);\n }\n\n if (asapEnqueued) {\n asapEnqueued = false;\n var queue = asapCallbackQueue;\n asapCallbackQueue = CallbackQueue.getPooled();\n queue.notifyAll();\n CallbackQueue.release(queue);\n }\n }\n};\n\n/**\n * Mark a component as needing a rerender, adding an optional callback to a\n * list of functions which will be executed once the rerender occurs.\n */\nfunction enqueueUpdate(component) {\n ensureInjected();\n\n // Various parts of our code (such as ReactCompositeComponent's\n // _renderValidatedComponent) assume that calls to render aren't nested;\n // verify that that's the case. (This is called by each top-level update\n // function, like setState, forceUpdate, etc.; creation and\n // destruction of top-level components is guarded in ReactMount.)\n\n if (!batchingStrategy.isBatchingUpdates) {\n batchingStrategy.batchedUpdates(enqueueUpdate, component);\n return;\n }\n\n dirtyComponents.push(component);\n if (component._updateBatchNumber == null) {\n component._updateBatchNumber = updateBatchNumber + 1;\n }\n}\n\n/**\n * Enqueue a callback to be run at the end of the current batching cycle. Throws\n * if no updates are currently being performed.\n */\nfunction asap(callback, context) {\n invariant(batchingStrategy.isBatchingUpdates, \"ReactUpdates.asap: Can't enqueue an asap callback in a context where\" + 'updates are not being batched.');\n asapCallbackQueue.enqueue(callback, context);\n asapEnqueued = true;\n}\n\nvar ReactUpdatesInjection = {\n injectReconcileTransaction: function (ReconcileTransaction) {\n !ReconcileTransaction ? process.env.NODE_ENV !== 'production' ? invariant(false, 'ReactUpdates: must provide a reconcile transaction class') : _prodInvariant('126') : void 0;\n ReactUpdates.ReactReconcileTransaction = ReconcileTransaction;\n },\n\n injectBatchingStrategy: function (_batchingStrategy) {\n !_batchingStrategy ? process.env.NODE_ENV !== 'production' ? invariant(false, 'ReactUpdates: must provide a batching strategy') : _prodInvariant('127') : void 0;\n !(typeof _batchingStrategy.batchedUpdates === 'function') ? process.env.NODE_ENV !== 'production' ? invariant(false, 'ReactUpdates: must provide a batchedUpdates() function') : _prodInvariant('128') : void 0;\n !(typeof _batchingStrategy.isBatchingUpdates === 'boolean') ? process.env.NODE_ENV !== 'production' ? invariant(false, 'ReactUpdates: must provide an isBatchingUpdates boolean attribute') : _prodInvariant('129') : void 0;\n batchingStrategy = _batchingStrategy;\n }\n};\n\nvar ReactUpdates = {\n /**\n * React references `ReactReconcileTransaction` using this property in order\n * to allow dependency injection.\n *\n * @internal\n */\n ReactReconcileTransaction: null,\n\n batchedUpdates: batchedUpdates,\n enqueueUpdate: enqueueUpdate,\n flushBatchedUpdates: flushBatchedUpdates,\n injection: ReactUpdatesInjection,\n asap: asap\n};\n\nmodule.exports = ReactUpdates;","/**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * \n */\n\n'use strict';\n\n/**\n * Keeps track of the current owner.\n *\n * The current owner is the component who should own any components that are\n * currently being constructed.\n */\nvar ReactCurrentOwner = {\n /**\n * @internal\n * @type {ReactComponent}\n */\n current: null\n};\n\nmodule.exports = ReactCurrentOwner;","/**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n */\n\n'use strict';\n\nvar _assign = require('object-assign');\n\nvar PooledClass = require('./PooledClass');\n\nvar emptyFunction = require('fbjs/lib/emptyFunction');\nvar warning = require('fbjs/lib/warning');\n\nvar didWarnForAddedNewProperty = false;\nvar isProxySupported = typeof Proxy === 'function';\n\nvar shouldBeReleasedProperties = ['dispatchConfig', '_targetInst', 'nativeEvent', 'isDefaultPrevented', 'isPropagationStopped', '_dispatchListeners', '_dispatchInstances'];\n\n/**\n * @interface Event\n * @see http://www.w3.org/TR/DOM-Level-3-Events/\n */\nvar EventInterface = {\n type: null,\n target: null,\n // currentTarget is set when dispatching; no use in copying it here\n currentTarget: emptyFunction.thatReturnsNull,\n eventPhase: null,\n bubbles: null,\n cancelable: null,\n timeStamp: function (event) {\n return event.timeStamp || Date.now();\n },\n defaultPrevented: null,\n isTrusted: null\n};\n\n/**\n * Synthetic events are dispatched by event plugins, typically in response to a\n * top-level event delegation handler.\n *\n * These systems should generally use pooling to reduce the frequency of garbage\n * collection. The system should check `isPersistent` to determine whether the\n * event should be released into the pool after being dispatched. Users that\n * need a persisted event should invoke `persist`.\n *\n * Synthetic events (and subclasses) implement the DOM Level 3 Events API by\n * normalizing browser quirks. Subclasses do not necessarily have to implement a\n * DOM interface; custom application-specific events can also subclass this.\n *\n * @param {object} dispatchConfig Configuration used to dispatch this event.\n * @param {*} targetInst Marker identifying the event target.\n * @param {object} nativeEvent Native browser event.\n * @param {DOMEventTarget} nativeEventTarget Target node.\n */\nfunction SyntheticEvent(dispatchConfig, targetInst, nativeEvent, nativeEventTarget) {\n if (process.env.NODE_ENV !== 'production') {\n // these have a getter/setter for warnings\n delete this.nativeEvent;\n delete this.preventDefault;\n delete this.stopPropagation;\n }\n\n this.dispatchConfig = dispatchConfig;\n this._targetInst = targetInst;\n this.nativeEvent = nativeEvent;\n\n var Interface = this.constructor.Interface;\n for (var propName in Interface) {\n if (!Interface.hasOwnProperty(propName)) {\n continue;\n }\n if (process.env.NODE_ENV !== 'production') {\n delete this[propName]; // this has a getter/setter for warnings\n }\n var normalize = Interface[propName];\n if (normalize) {\n this[propName] = normalize(nativeEvent);\n } else {\n if (propName === 'target') {\n this.target = nativeEventTarget;\n } else {\n this[propName] = nativeEvent[propName];\n }\n }\n }\n\n var defaultPrevented = nativeEvent.defaultPrevented != null ? nativeEvent.defaultPrevented : nativeEvent.returnValue === false;\n if (defaultPrevented) {\n this.isDefaultPrevented = emptyFunction.thatReturnsTrue;\n } else {\n this.isDefaultPrevented = emptyFunction.thatReturnsFalse;\n }\n this.isPropagationStopped = emptyFunction.thatReturnsFalse;\n return this;\n}\n\n_assign(SyntheticEvent.prototype, {\n preventDefault: function () {\n this.defaultPrevented = true;\n var event = this.nativeEvent;\n if (!event) {\n return;\n }\n\n if (event.preventDefault) {\n event.preventDefault();\n // eslint-disable-next-line valid-typeof\n } else if (typeof event.returnValue !== 'unknown') {\n event.returnValue = false;\n }\n this.isDefaultPrevented = emptyFunction.thatReturnsTrue;\n },\n\n stopPropagation: function () {\n var event = this.nativeEvent;\n if (!event) {\n return;\n }\n\n if (event.stopPropagation) {\n event.stopPropagation();\n // eslint-disable-next-line valid-typeof\n } else if (typeof event.cancelBubble !== 'unknown') {\n // The ChangeEventPlugin registers a \"propertychange\" event for\n // IE. This event does not support bubbling or cancelling, and\n // any references to cancelBubble throw \"Member not found\". A\n // typeof check of \"unknown\" circumvents this issue (and is also\n // IE specific).\n event.cancelBubble = true;\n }\n\n this.isPropagationStopped = emptyFunction.thatReturnsTrue;\n },\n\n /**\n * We release all dispatched `SyntheticEvent`s after each event loop, adding\n * them back into the pool. This allows a way to hold onto a reference that\n * won't be added back into the pool.\n */\n persist: function () {\n this.isPersistent = emptyFunction.thatReturnsTrue;\n },\n\n /**\n * Checks if this event should be released back into the pool.\n *\n * @return {boolean} True if this should not be released, false otherwise.\n */\n isPersistent: emptyFunction.thatReturnsFalse,\n\n /**\n * `PooledClass` looks for `destructor` on each instance it releases.\n */\n destructor: function () {\n var Interface = this.constructor.Interface;\n for (var propName in Interface) {\n if (process.env.NODE_ENV !== 'production') {\n Object.defineProperty(this, propName, getPooledWarningPropertyDefinition(propName, Interface[propName]));\n } else {\n this[propName] = null;\n }\n }\n for (var i = 0; i < shouldBeReleasedProperties.length; i++) {\n this[shouldBeReleasedProperties[i]] = null;\n }\n if (process.env.NODE_ENV !== 'production') {\n Object.defineProperty(this, 'nativeEvent', getPooledWarningPropertyDefinition('nativeEvent', null));\n Object.defineProperty(this, 'preventDefault', getPooledWarningPropertyDefinition('preventDefault', emptyFunction));\n Object.defineProperty(this, 'stopPropagation', getPooledWarningPropertyDefinition('stopPropagation', emptyFunction));\n }\n }\n});\n\nSyntheticEvent.Interface = EventInterface;\n\n/**\n * Helper to reduce boilerplate when creating subclasses.\n *\n * @param {function} Class\n * @param {?object} Interface\n */\nSyntheticEvent.augmentClass = function (Class, Interface) {\n var Super = this;\n\n var E = function () {};\n E.prototype = Super.prototype;\n var prototype = new E();\n\n _assign(prototype, Class.prototype);\n Class.prototype = prototype;\n Class.prototype.constructor = Class;\n\n Class.Interface = _assign({}, Super.Interface, Interface);\n Class.augmentClass = Super.augmentClass;\n\n PooledClass.addPoolingTo(Class, PooledClass.fourArgumentPooler);\n};\n\n/** Proxying after everything set on SyntheticEvent\n * to resolve Proxy issue on some WebKit browsers\n * in which some Event properties are set to undefined (GH#10010)\n */\nif (process.env.NODE_ENV !== 'production') {\n if (isProxySupported) {\n /*eslint-disable no-func-assign */\n SyntheticEvent = new Proxy(SyntheticEvent, {\n construct: function (target, args) {\n return this.apply(target, Object.create(target.prototype), args);\n },\n apply: function (constructor, that, args) {\n return new Proxy(constructor.apply(that, args), {\n set: function (target, prop, value) {\n if (prop !== 'isPersistent' && !target.constructor.Interface.hasOwnProperty(prop) && shouldBeReleasedProperties.indexOf(prop) === -1) {\n process.env.NODE_ENV !== 'production' ? warning(didWarnForAddedNewProperty || target.isPersistent(), \"This synthetic event is reused for performance reasons. If you're \" + \"seeing this, you're adding a new property in the synthetic event object. \" + 'The property is never released. See ' + 'https://fb.me/react-event-pooling for more information.') : void 0;\n didWarnForAddedNewProperty = true;\n }\n target[prop] = value;\n return true;\n }\n });\n }\n });\n /*eslint-enable no-func-assign */\n }\n}\n\nPooledClass.addPoolingTo(SyntheticEvent, PooledClass.fourArgumentPooler);\n\nmodule.exports = SyntheticEvent;\n\n/**\n * Helper to nullify syntheticEvent instance properties when destructing\n *\n * @param {object} SyntheticEvent\n * @param {String} propName\n * @return {object} defineProperty object\n */\nfunction getPooledWarningPropertyDefinition(propName, getVal) {\n var isFunction = typeof getVal === 'function';\n return {\n configurable: true,\n set: set,\n get: get\n };\n\n function set(val) {\n var action = isFunction ? 'setting the method' : 'setting the property';\n warn(action, 'This is effectively a no-op');\n return val;\n }\n\n function get() {\n var action = isFunction ? 'accessing the method' : 'accessing the property';\n var result = isFunction ? 'This is a no-op function' : 'This is set to null';\n warn(action, result);\n return getVal;\n }\n\n function warn(action, result) {\n var warningCondition = false;\n process.env.NODE_ENV !== 'production' ? warning(warningCondition, \"This synthetic event is reused for performance reasons. If you're seeing this, \" + \"you're %s `%s` on a released/nullified synthetic event. %s. \" + 'If you must keep the original synthetic event around, use event.persist(). ' + 'See https://fb.me/react-event-pooling for more information.', action, propName, result) : void 0;\n }\n}","\"use strict\";\n\nexports.__esModule = true;\nexports.default = void 0;\n\nvar _default = !!(typeof window !== 'undefined' && window.document && window.document.createElement);\n\nexports.default = _default;\nmodule.exports = exports[\"default\"];","// Source: http://jsfiddle.net/vWx8V/\n// http://stackoverflow.com/questions/5603195/full-list-of-javascript-keycodes\n\n/**\n * Conenience method returns corresponding value for given keyName or keyCode.\n *\n * @param {Mixed} keyCode {Number} or keyName {String}\n * @return {Mixed}\n * @api public\n */\n\nfunction keyCode(searchInput) {\n // Keyboard Events\n if (searchInput && 'object' === typeof searchInput) {\n var hasKeyCode = searchInput.which || searchInput.keyCode || searchInput.charCode\n if (hasKeyCode) searchInput = hasKeyCode\n }\n\n // Numbers\n if ('number' === typeof searchInput) return names[searchInput]\n\n // Everything else (cast to string)\n var search = String(searchInput)\n\n // check codes\n var foundNamedKey = codes[search.toLowerCase()]\n if (foundNamedKey) return foundNamedKey\n\n // check aliases\n var foundNamedKey = aliases[search.toLowerCase()]\n if (foundNamedKey) return foundNamedKey\n\n // weird character?\n if (search.length === 1) return search.charCodeAt(0)\n\n return undefined\n}\n\n/**\n * Compares a keyboard event with a given keyCode or keyName.\n *\n * @param {Event} event Keyboard event that should be tested\n * @param {Mixed} keyCode {Number} or keyName {String}\n * @return {Boolean}\n * @api public\n */\nkeyCode.isEventKey = function isEventKey(event, nameOrCode) {\n if (event && 'object' === typeof event) {\n var keyCode = event.which || event.keyCode || event.charCode\n if (keyCode === null || keyCode === undefined) { return false; }\n if (typeof nameOrCode === 'string') {\n // check codes\n var foundNamedKey = codes[nameOrCode.toLowerCase()]\n if (foundNamedKey) { return foundNamedKey === keyCode; }\n \n // check aliases\n var foundNamedKey = aliases[nameOrCode.toLowerCase()]\n if (foundNamedKey) { return foundNamedKey === keyCode; }\n } else if (typeof nameOrCode === 'number') {\n return nameOrCode === keyCode;\n }\n return false;\n }\n}\n\nexports = module.exports = keyCode;\n\n/**\n * Get by name\n *\n * exports.code['enter'] // => 13\n */\n\nvar codes = exports.code = exports.codes = {\n 'backspace': 8,\n 'tab': 9,\n 'enter': 13,\n 'shift': 16,\n 'ctrl': 17,\n 'alt': 18,\n 'pause/break': 19,\n 'caps lock': 20,\n 'esc': 27,\n 'space': 32,\n 'page up': 33,\n 'page down': 34,\n 'end': 35,\n 'home': 36,\n 'left': 37,\n 'up': 38,\n 'right': 39,\n 'down': 40,\n 'insert': 45,\n 'delete': 46,\n 'command': 91,\n 'left command': 91,\n 'right command': 93,\n 'numpad *': 106,\n 'numpad +': 107,\n 'numpad -': 109,\n 'numpad .': 110,\n 'numpad /': 111,\n 'num lock': 144,\n 'scroll lock': 145,\n 'my computer': 182,\n 'my calculator': 183,\n ';': 186,\n '=': 187,\n ',': 188,\n '-': 189,\n '.': 190,\n '/': 191,\n '`': 192,\n '[': 219,\n '\\\\': 220,\n ']': 221,\n \"'\": 222\n}\n\n// Helper aliases\n\nvar aliases = exports.aliases = {\n 'windows': 91,\n '⇧': 16,\n '⌥': 18,\n '⌃': 17,\n '⌘': 91,\n 'ctl': 17,\n 'control': 17,\n 'option': 18,\n 'pause': 19,\n 'break': 19,\n 'caps': 20,\n 'return': 13,\n 'escape': 27,\n 'spc': 32,\n 'spacebar': 32,\n 'pgup': 33,\n 'pgdn': 34,\n 'ins': 45,\n 'del': 46,\n 'cmd': 91\n}\n\n/*!\n * Programatically add the following\n */\n\n// lower case chars\nfor (i = 97; i < 123; i++) codes[String.fromCharCode(i)] = i - 32\n\n// numbers\nfor (var i = 48; i < 58; i++) codes[i - 48] = i\n\n// function keys\nfor (i = 1; i < 13; i++) codes['f'+i] = i + 111\n\n// numpad keys\nfor (i = 0; i < 10; i++) codes['numpad '+i] = i + 96\n\n/**\n * Get by code\n *\n * exports.name[13] // => 'Enter'\n */\n\nvar names = exports.names = exports.title = {} // title for backward compat\n\n// Create reverse mapping\nfor (i in codes) names[codes[i]] = i\n\n// Add aliases\nfor (var alias in aliases) {\n codes[alias] = aliases[alias]\n}\n","var global = require('./_global');\nvar core = require('./_core');\nvar ctx = require('./_ctx');\nvar hide = require('./_hide');\nvar has = require('./_has');\nvar PROTOTYPE = 'prototype';\n\nvar $export = function (type, name, source) {\n var IS_FORCED = type & $export.F;\n var IS_GLOBAL = type & $export.G;\n var IS_STATIC = type & $export.S;\n var IS_PROTO = type & $export.P;\n var IS_BIND = type & $export.B;\n var IS_WRAP = type & $export.W;\n var exports = IS_GLOBAL ? core : core[name] || (core[name] = {});\n var expProto = exports[PROTOTYPE];\n var target = IS_GLOBAL ? global : IS_STATIC ? global[name] : (global[name] || {})[PROTOTYPE];\n var key, own, out;\n if (IS_GLOBAL) source = name;\n for (key in source) {\n // contains in native\n own = !IS_FORCED && target && target[key] !== undefined;\n if (own && has(exports, key)) continue;\n // export native or passed\n out = own ? target[key] : source[key];\n // prevent global pollution for namespaces\n exports[key] = IS_GLOBAL && typeof target[key] != 'function' ? source[key]\n // bind timers to global for call from export context\n : IS_BIND && own ? ctx(out, global)\n // wrap global constructors for prevent change them in library\n : IS_WRAP && target[key] == out ? (function (C) {\n var F = function (a, b, c) {\n if (this instanceof C) {\n switch (arguments.length) {\n case 0: return new C();\n case 1: return new C(a);\n case 2: return new C(a, b);\n } return new C(a, b, c);\n } return C.apply(this, arguments);\n };\n F[PROTOTYPE] = C[PROTOTYPE];\n return F;\n // make static versions for prototype methods\n })(out) : IS_PROTO && typeof out == 'function' ? ctx(Function.call, out) : out;\n // export proto methods to core.%CONSTRUCTOR%.methods.%NAME%\n if (IS_PROTO) {\n (exports.virtual || (exports.virtual = {}))[key] = out;\n // export proto methods to core.%CONSTRUCTOR%.prototype.%NAME%\n if (type & $export.R && expProto && !expProto[key]) hide(expProto, key, out);\n }\n }\n};\n// type bitmap\n$export.F = 1; // forced\n$export.G = 2; // global\n$export.S = 4; // static\n$export.P = 8; // proto\n$export.B = 16; // bind\n$export.W = 32; // wrap\n$export.U = 64; // safe\n$export.R = 128; // real proto method for `library`\nmodule.exports = $export;\n","/**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * \n */\n\n'use strict';\n\nvar _prodInvariant = require('./reactProdInvariant');\n\nvar invariant = require('fbjs/lib/invariant');\n\n/**\n * Static poolers. Several custom versions for each potential number of\n * arguments. A completely generic pooler is easy to implement, but would\n * require accessing the `arguments` object. In each of these, `this` refers to\n * the Class itself, not an instance. If any others are needed, simply add them\n * here, or in their own files.\n */\nvar oneArgumentPooler = function (copyFieldsFrom) {\n var Klass = this;\n if (Klass.instancePool.length) {\n var instance = Klass.instancePool.pop();\n Klass.call(instance, copyFieldsFrom);\n return instance;\n } else {\n return new Klass(copyFieldsFrom);\n }\n};\n\nvar twoArgumentPooler = function (a1, a2) {\n var Klass = this;\n if (Klass.instancePool.length) {\n var instance = Klass.instancePool.pop();\n Klass.call(instance, a1, a2);\n return instance;\n } else {\n return new Klass(a1, a2);\n }\n};\n\nvar threeArgumentPooler = function (a1, a2, a3) {\n var Klass = this;\n if (Klass.instancePool.length) {\n var instance = Klass.instancePool.pop();\n Klass.call(instance, a1, a2, a3);\n return instance;\n } else {\n return new Klass(a1, a2, a3);\n }\n};\n\nvar fourArgumentPooler = function (a1, a2, a3, a4) {\n var Klass = this;\n if (Klass.instancePool.length) {\n var instance = Klass.instancePool.pop();\n Klass.call(instance, a1, a2, a3, a4);\n return instance;\n } else {\n return new Klass(a1, a2, a3, a4);\n }\n};\n\nvar standardReleaser = function (instance) {\n var Klass = this;\n !(instance instanceof Klass) ? process.env.NODE_ENV !== 'production' ? invariant(false, 'Trying to release an instance into a pool of a different type.') : _prodInvariant('25') : void 0;\n instance.destructor();\n if (Klass.instancePool.length < Klass.poolSize) {\n Klass.instancePool.push(instance);\n }\n};\n\nvar DEFAULT_POOL_SIZE = 10;\nvar DEFAULT_POOLER = oneArgumentPooler;\n\n/**\n * Augments `CopyConstructor` to be a poolable class, augmenting only the class\n * itself (statically) not adding any prototypical fields. Any CopyConstructor\n * you give this may have a `poolSize` property, and will look for a\n * prototypical `destructor` on instances.\n *\n * @param {Function} CopyConstructor Constructor that can be used to reset.\n * @param {Function} pooler Customizable pooler.\n */\nvar addPoolingTo = function (CopyConstructor, pooler) {\n // Casting as any so that flow ignores the actual implementation and trusts\n // it to match the type we declared\n var NewKlass = CopyConstructor;\n NewKlass.instancePool = [];\n NewKlass.getPooled = pooler || DEFAULT_POOLER;\n if (!NewKlass.poolSize) {\n NewKlass.poolSize = DEFAULT_POOL_SIZE;\n }\n NewKlass.release = standardReleaser;\n return NewKlass;\n};\n\nvar PooledClass = {\n addPoolingTo: addPoolingTo,\n oneArgumentPooler: oneArgumentPooler,\n twoArgumentPooler: twoArgumentPooler,\n threeArgumentPooler: threeArgumentPooler,\n fourArgumentPooler: fourArgumentPooler\n};\n\nmodule.exports = PooledClass;","// Thank's IE8 for his funny defineProperty\nmodule.exports = !require('./_fails')(function () {\n return Object.defineProperty({}, 'a', { get: function () { return 7; } }).a != 7;\n});\n","var store = require('./_shared')('wks');\nvar uid = require('./_uid');\nvar Symbol = require('./_global').Symbol;\nvar USE_SYMBOL = typeof Symbol == 'function';\n\nvar $exports = module.exports = function (name) {\n return store[name] || (store[name] =\n USE_SYMBOL && Symbol[name] || (USE_SYMBOL ? Symbol : uid)('Symbol.' + name));\n};\n\n$exports.store = store;\n","/**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n */\n\n'use strict';\n\nvar _assign = require('object-assign');\n\nvar ReactBaseClasses = require('./ReactBaseClasses');\nvar ReactChildren = require('./ReactChildren');\nvar ReactDOMFactories = require('./ReactDOMFactories');\nvar ReactElement = require('./ReactElement');\nvar ReactPropTypes = require('./ReactPropTypes');\nvar ReactVersion = require('./ReactVersion');\n\nvar createReactClass = require('./createClass');\nvar onlyChild = require('./onlyChild');\n\nvar createElement = ReactElement.createElement;\nvar createFactory = ReactElement.createFactory;\nvar cloneElement = ReactElement.cloneElement;\n\nif (process.env.NODE_ENV !== 'production') {\n var lowPriorityWarning = require('./lowPriorityWarning');\n var canDefineProperty = require('./canDefineProperty');\n var ReactElementValidator = require('./ReactElementValidator');\n var didWarnPropTypesDeprecated = false;\n createElement = ReactElementValidator.createElement;\n createFactory = ReactElementValidator.createFactory;\n cloneElement = ReactElementValidator.cloneElement;\n}\n\nvar __spread = _assign;\nvar createMixin = function (mixin) {\n return mixin;\n};\n\nif (process.env.NODE_ENV !== 'production') {\n var warnedForSpread = false;\n var warnedForCreateMixin = false;\n __spread = function () {\n lowPriorityWarning(warnedForSpread, 'React.__spread is deprecated and should not be used. Use ' + 'Object.assign directly or another helper function with similar ' + 'semantics. You may be seeing this warning due to your compiler. ' + 'See https://fb.me/react-spread-deprecation for more details.');\n warnedForSpread = true;\n return _assign.apply(null, arguments);\n };\n\n createMixin = function (mixin) {\n lowPriorityWarning(warnedForCreateMixin, 'React.createMixin is deprecated and should not be used. ' + 'In React v16.0, it will be removed. ' + 'You can use this mixin directly instead. ' + 'See https://fb.me/createmixin-was-never-implemented for more info.');\n warnedForCreateMixin = true;\n return mixin;\n };\n}\n\nvar React = {\n // Modern\n\n Children: {\n map: ReactChildren.map,\n forEach: ReactChildren.forEach,\n count: ReactChildren.count,\n toArray: ReactChildren.toArray,\n only: onlyChild\n },\n\n Component: ReactBaseClasses.Component,\n PureComponent: ReactBaseClasses.PureComponent,\n\n createElement: createElement,\n cloneElement: cloneElement,\n isValidElement: ReactElement.isValidElement,\n\n // Classic\n\n PropTypes: ReactPropTypes,\n createClass: createReactClass,\n createFactory: createFactory,\n createMixin: createMixin,\n\n // This looks DOM specific but these are actually isomorphic helpers\n // since they are just generating DOM strings.\n DOM: ReactDOMFactories,\n\n version: ReactVersion,\n\n // Deprecated hook for JSX spread, don't use this for anything.\n __spread: __spread\n};\n\nif (process.env.NODE_ENV !== 'production') {\n var warnedForCreateClass = false;\n if (canDefineProperty) {\n Object.defineProperty(React, 'PropTypes', {\n get: function () {\n lowPriorityWarning(didWarnPropTypesDeprecated, 'Accessing PropTypes via the main React package is deprecated,' + ' and will be removed in React v16.0.' + ' Use the latest available v15.* prop-types package from npm instead.' + ' For info on usage, compatibility, migration and more, see ' + 'https://fb.me/prop-types-docs');\n didWarnPropTypesDeprecated = true;\n return ReactPropTypes;\n }\n });\n\n Object.defineProperty(React, 'createClass', {\n get: function () {\n lowPriorityWarning(warnedForCreateClass, 'Accessing createClass via the main React package is deprecated,' + ' and will be removed in React v16.0.' + \" Use a plain JavaScript class instead. If you're not yet \" + 'ready to migrate, create-react-class v15.* is available ' + 'on npm as a temporary, drop-in replacement. ' + 'For more info see https://fb.me/react-create-class');\n warnedForCreateClass = true;\n return createReactClass;\n }\n });\n }\n\n // React.DOM factories are deprecated. Wrap these methods so that\n // invocations of the React.DOM namespace and alert users to switch\n // to the `react-dom-factories` package.\n React.DOM = {};\n var warnedForFactories = false;\n Object.keys(ReactDOMFactories).forEach(function (factory) {\n React.DOM[factory] = function () {\n if (!warnedForFactories) {\n lowPriorityWarning(false, 'Accessing factories like React.DOM.%s has been deprecated ' + 'and will be removed in v16.0+. Use the ' + 'react-dom-factories package instead. ' + ' Version 1.0 provides a drop-in replacement.' + ' For more info, see https://fb.me/react-dom-factories', factory);\n warnedForFactories = true;\n }\n return ReactDOMFactories[factory].apply(ReactDOMFactories, arguments);\n };\n });\n}\n\nmodule.exports = React;","/**\n * Copyright (c) 2014-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n */\n\n'use strict';\n\nvar _assign = require('object-assign');\n\nvar ReactCurrentOwner = require('./ReactCurrentOwner');\n\nvar warning = require('fbjs/lib/warning');\nvar canDefineProperty = require('./canDefineProperty');\nvar hasOwnProperty = Object.prototype.hasOwnProperty;\n\nvar REACT_ELEMENT_TYPE = require('./ReactElementSymbol');\n\nvar RESERVED_PROPS = {\n key: true,\n ref: true,\n __self: true,\n __source: true\n};\n\nvar specialPropKeyWarningShown, specialPropRefWarningShown;\n\nfunction hasValidRef(config) {\n if (process.env.NODE_ENV !== 'production') {\n if (hasOwnProperty.call(config, 'ref')) {\n var getter = Object.getOwnPropertyDescriptor(config, 'ref').get;\n if (getter && getter.isReactWarning) {\n return false;\n }\n }\n }\n return config.ref !== undefined;\n}\n\nfunction hasValidKey(config) {\n if (process.env.NODE_ENV !== 'production') {\n if (hasOwnProperty.call(config, 'key')) {\n var getter = Object.getOwnPropertyDescriptor(config, 'key').get;\n if (getter && getter.isReactWarning) {\n return false;\n }\n }\n }\n return config.key !== undefined;\n}\n\nfunction defineKeyPropWarningGetter(props, displayName) {\n var warnAboutAccessingKey = function () {\n if (!specialPropKeyWarningShown) {\n specialPropKeyWarningShown = true;\n process.env.NODE_ENV !== 'production' ? warning(false, '%s: `key` is not a prop. Trying to access it will result ' + 'in `undefined` being returned. If you need to access the same ' + 'value within the child component, you should pass it as a different ' + 'prop. (https://fb.me/react-special-props)', displayName) : void 0;\n }\n };\n warnAboutAccessingKey.isReactWarning = true;\n Object.defineProperty(props, 'key', {\n get: warnAboutAccessingKey,\n configurable: true\n });\n}\n\nfunction defineRefPropWarningGetter(props, displayName) {\n var warnAboutAccessingRef = function () {\n if (!specialPropRefWarningShown) {\n specialPropRefWarningShown = true;\n process.env.NODE_ENV !== 'production' ? warning(false, '%s: `ref` is not a prop. Trying to access it will result ' + 'in `undefined` being returned. If you need to access the same ' + 'value within the child component, you should pass it as a different ' + 'prop. (https://fb.me/react-special-props)', displayName) : void 0;\n }\n };\n warnAboutAccessingRef.isReactWarning = true;\n Object.defineProperty(props, 'ref', {\n get: warnAboutAccessingRef,\n configurable: true\n });\n}\n\n/**\n * Factory method to create a new React element. This no longer adheres to\n * the class pattern, so do not use new to call it. Also, no instanceof check\n * will work. Instead test $$typeof field against Symbol.for('react.element') to check\n * if something is a React Element.\n *\n * @param {*} type\n * @param {*} key\n * @param {string|object} ref\n * @param {*} self A *temporary* helper to detect places where `this` is\n * different from the `owner` when React.createElement is called, so that we\n * can warn. We want to get rid of owner and replace string `ref`s with arrow\n * functions, and as long as `this` and owner are the same, there will be no\n * change in behavior.\n * @param {*} source An annotation object (added by a transpiler or otherwise)\n * indicating filename, line number, and/or other information.\n * @param {*} owner\n * @param {*} props\n * @internal\n */\nvar ReactElement = function (type, key, ref, self, source, owner, props) {\n var element = {\n // This tag allow us to uniquely identify this as a React Element\n $$typeof: REACT_ELEMENT_TYPE,\n\n // Built-in properties that belong on the element\n type: type,\n key: key,\n ref: ref,\n props: props,\n\n // Record the component responsible for creating this element.\n _owner: owner\n };\n\n if (process.env.NODE_ENV !== 'production') {\n // The validation flag is currently mutative. We put it on\n // an external backing store so that we can freeze the whole object.\n // This can be replaced with a WeakMap once they are implemented in\n // commonly used development environments.\n element._store = {};\n\n // To make comparing ReactElements easier for testing purposes, we make\n // the validation flag non-enumerable (where possible, which should\n // include every environment we run tests in), so the test framework\n // ignores it.\n if (canDefineProperty) {\n Object.defineProperty(element._store, 'validated', {\n configurable: false,\n enumerable: false,\n writable: true,\n value: false\n });\n // self and source are DEV only properties.\n Object.defineProperty(element, '_self', {\n configurable: false,\n enumerable: false,\n writable: false,\n value: self\n });\n // Two elements created in two different places should be considered\n // equal for testing purposes and therefore we hide it from enumeration.\n Object.defineProperty(element, '_source', {\n configurable: false,\n enumerable: false,\n writable: false,\n value: source\n });\n } else {\n element._store.validated = false;\n element._self = self;\n element._source = source;\n }\n if (Object.freeze) {\n Object.freeze(element.props);\n Object.freeze(element);\n }\n }\n\n return element;\n};\n\n/**\n * Create and return a new ReactElement of the given type.\n * See https://facebook.github.io/react/docs/top-level-api.html#react.createelement\n */\nReactElement.createElement = function (type, config, children) {\n var propName;\n\n // Reserved names are extracted\n var props = {};\n\n var key = null;\n var ref = null;\n var self = null;\n var source = null;\n\n if (config != null) {\n if (hasValidRef(config)) {\n ref = config.ref;\n }\n if (hasValidKey(config)) {\n key = '' + config.key;\n }\n\n self = config.__self === undefined ? null : config.__self;\n source = config.__source === undefined ? null : config.__source;\n // Remaining properties are added to a new props object\n for (propName in config) {\n if (hasOwnProperty.call(config, propName) && !RESERVED_PROPS.hasOwnProperty(propName)) {\n props[propName] = config[propName];\n }\n }\n }\n\n // Children can be more than one argument, and those are transferred onto\n // the newly allocated props object.\n var childrenLength = arguments.length - 2;\n if (childrenLength === 1) {\n props.children = children;\n } else if (childrenLength > 1) {\n var childArray = Array(childrenLength);\n for (var i = 0; i < childrenLength; i++) {\n childArray[i] = arguments[i + 2];\n }\n if (process.env.NODE_ENV !== 'production') {\n if (Object.freeze) {\n Object.freeze(childArray);\n }\n }\n props.children = childArray;\n }\n\n // Resolve default props\n if (type && type.defaultProps) {\n var defaultProps = type.defaultProps;\n for (propName in defaultProps) {\n if (props[propName] === undefined) {\n props[propName] = defaultProps[propName];\n }\n }\n }\n if (process.env.NODE_ENV !== 'production') {\n if (key || ref) {\n if (typeof props.$$typeof === 'undefined' || props.$$typeof !== REACT_ELEMENT_TYPE) {\n var displayName = typeof type === 'function' ? type.displayName || type.name || 'Unknown' : type;\n if (key) {\n defineKeyPropWarningGetter(props, displayName);\n }\n if (ref) {\n defineRefPropWarningGetter(props, displayName);\n }\n }\n }\n }\n return ReactElement(type, key, ref, self, source, ReactCurrentOwner.current, props);\n};\n\n/**\n * Return a function that produces ReactElements of a given type.\n * See https://facebook.github.io/react/docs/top-level-api.html#react.createfactory\n */\nReactElement.createFactory = function (type) {\n var factory = ReactElement.createElement.bind(null, type);\n // Expose the type on the factory and the prototype so that it can be\n // easily accessed on elements. E.g. `.type === Foo`.\n // This should not be named `constructor` since this may not be the function\n // that created the element, and it may not even be a constructor.\n // Legacy hook TODO: Warn if this is accessed\n factory.type = type;\n return factory;\n};\n\nReactElement.cloneAndReplaceKey = function (oldElement, newKey) {\n var newElement = ReactElement(oldElement.type, newKey, oldElement.ref, oldElement._self, oldElement._source, oldElement._owner, oldElement.props);\n\n return newElement;\n};\n\n/**\n * Clone and return a new ReactElement using element as the starting point.\n * See https://facebook.github.io/react/docs/top-level-api.html#react.cloneelement\n */\nReactElement.cloneElement = function (element, config, children) {\n var propName;\n\n // Original props are copied\n var props = _assign({}, element.props);\n\n // Reserved names are extracted\n var key = element.key;\n var ref = element.ref;\n // Self is preserved since the owner is preserved.\n var self = element._self;\n // Source is preserved since cloneElement is unlikely to be targeted by a\n // transpiler, and the original source is probably a better indicator of the\n // true owner.\n var source = element._source;\n\n // Owner will be preserved, unless ref is overridden\n var owner = element._owner;\n\n if (config != null) {\n if (hasValidRef(config)) {\n // Silently steal the ref from the parent.\n ref = config.ref;\n owner = ReactCurrentOwner.current;\n }\n if (hasValidKey(config)) {\n key = '' + config.key;\n }\n\n // Remaining properties override existing props\n var defaultProps;\n if (element.type && element.type.defaultProps) {\n defaultProps = element.type.defaultProps;\n }\n for (propName in config) {\n if (hasOwnProperty.call(config, propName) && !RESERVED_PROPS.hasOwnProperty(propName)) {\n if (config[propName] === undefined && defaultProps !== undefined) {\n // Resolve default props\n props[propName] = defaultProps[propName];\n } else {\n props[propName] = config[propName];\n }\n }\n }\n }\n\n // Children can be more than one argument, and those are transferred onto\n // the newly allocated props object.\n var childrenLength = arguments.length - 2;\n if (childrenLength === 1) {\n props.children = children;\n } else if (childrenLength > 1) {\n var childArray = Array(childrenLength);\n for (var i = 0; i < childrenLength; i++) {\n childArray[i] = arguments[i + 2];\n }\n props.children = childArray;\n }\n\n return ReactElement(element.type, key, ref, self, source, owner, props);\n};\n\n/**\n * Verifies the object is a ReactElement.\n * See https://facebook.github.io/react/docs/top-level-api.html#react.isvalidelement\n * @param {?object} object\n * @return {boolean} True if `object` is a valid component.\n * @final\n */\nReactElement.isValidElement = function (object) {\n return typeof object === 'object' && object !== null && object.$$typeof === REACT_ELEMENT_TYPE;\n};\n\nmodule.exports = ReactElement;","/**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n */\n\n'use strict';\n\nvar _prodInvariant = require('./reactProdInvariant');\n\nvar invariant = require('fbjs/lib/invariant');\n\nfunction checkMask(value, bitmask) {\n return (value & bitmask) === bitmask;\n}\n\nvar DOMPropertyInjection = {\n /**\n * Mapping from normalized, camelcased property names to a configuration that\n * specifies how the associated DOM property should be accessed or rendered.\n */\n MUST_USE_PROPERTY: 0x1,\n HAS_BOOLEAN_VALUE: 0x4,\n HAS_NUMERIC_VALUE: 0x8,\n HAS_POSITIVE_NUMERIC_VALUE: 0x10 | 0x8,\n HAS_OVERLOADED_BOOLEAN_VALUE: 0x20,\n\n /**\n * Inject some specialized knowledge about the DOM. This takes a config object\n * with the following properties:\n *\n * isCustomAttribute: function that given an attribute name will return true\n * if it can be inserted into the DOM verbatim. Useful for data-* or aria-*\n * attributes where it's impossible to enumerate all of the possible\n * attribute names,\n *\n * Properties: object mapping DOM property name to one of the\n * DOMPropertyInjection constants or null. If your attribute isn't in here,\n * it won't get written to the DOM.\n *\n * DOMAttributeNames: object mapping React attribute name to the DOM\n * attribute name. Attribute names not specified use the **lowercase**\n * normalized name.\n *\n * DOMAttributeNamespaces: object mapping React attribute name to the DOM\n * attribute namespace URL. (Attribute names not specified use no namespace.)\n *\n * DOMPropertyNames: similar to DOMAttributeNames but for DOM properties.\n * Property names not specified use the normalized name.\n *\n * DOMMutationMethods: Properties that require special mutation methods. If\n * `value` is undefined, the mutation method should unset the property.\n *\n * @param {object} domPropertyConfig the config as described above.\n */\n injectDOMPropertyConfig: function (domPropertyConfig) {\n var Injection = DOMPropertyInjection;\n var Properties = domPropertyConfig.Properties || {};\n var DOMAttributeNamespaces = domPropertyConfig.DOMAttributeNamespaces || {};\n var DOMAttributeNames = domPropertyConfig.DOMAttributeNames || {};\n var DOMPropertyNames = domPropertyConfig.DOMPropertyNames || {};\n var DOMMutationMethods = domPropertyConfig.DOMMutationMethods || {};\n\n if (domPropertyConfig.isCustomAttribute) {\n DOMProperty._isCustomAttributeFunctions.push(domPropertyConfig.isCustomAttribute);\n }\n\n for (var propName in Properties) {\n !!DOMProperty.properties.hasOwnProperty(propName) ? process.env.NODE_ENV !== 'production' ? invariant(false, 'injectDOMPropertyConfig(...): You\\'re trying to inject DOM property \\'%s\\' which has already been injected. You may be accidentally injecting the same DOM property config twice, or you may be injecting two configs that have conflicting property names.', propName) : _prodInvariant('48', propName) : void 0;\n\n var lowerCased = propName.toLowerCase();\n var propConfig = Properties[propName];\n\n var propertyInfo = {\n attributeName: lowerCased,\n attributeNamespace: null,\n propertyName: propName,\n mutationMethod: null,\n\n mustUseProperty: checkMask(propConfig, Injection.MUST_USE_PROPERTY),\n hasBooleanValue: checkMask(propConfig, Injection.HAS_BOOLEAN_VALUE),\n hasNumericValue: checkMask(propConfig, Injection.HAS_NUMERIC_VALUE),\n hasPositiveNumericValue: checkMask(propConfig, Injection.HAS_POSITIVE_NUMERIC_VALUE),\n hasOverloadedBooleanValue: checkMask(propConfig, Injection.HAS_OVERLOADED_BOOLEAN_VALUE)\n };\n !(propertyInfo.hasBooleanValue + propertyInfo.hasNumericValue + propertyInfo.hasOverloadedBooleanValue <= 1) ? process.env.NODE_ENV !== 'production' ? invariant(false, 'DOMProperty: Value can be one of boolean, overloaded boolean, or numeric value, but not a combination: %s', propName) : _prodInvariant('50', propName) : void 0;\n\n if (process.env.NODE_ENV !== 'production') {\n DOMProperty.getPossibleStandardName[lowerCased] = propName;\n }\n\n if (DOMAttributeNames.hasOwnProperty(propName)) {\n var attributeName = DOMAttributeNames[propName];\n propertyInfo.attributeName = attributeName;\n if (process.env.NODE_ENV !== 'production') {\n DOMProperty.getPossibleStandardName[attributeName] = propName;\n }\n }\n\n if (DOMAttributeNamespaces.hasOwnProperty(propName)) {\n propertyInfo.attributeNamespace = DOMAttributeNamespaces[propName];\n }\n\n if (DOMPropertyNames.hasOwnProperty(propName)) {\n propertyInfo.propertyName = DOMPropertyNames[propName];\n }\n\n if (DOMMutationMethods.hasOwnProperty(propName)) {\n propertyInfo.mutationMethod = DOMMutationMethods[propName];\n }\n\n DOMProperty.properties[propName] = propertyInfo;\n }\n }\n};\n\n/* eslint-disable max-len */\nvar ATTRIBUTE_NAME_START_CHAR = ':A-Z_a-z\\\\u00C0-\\\\u00D6\\\\u00D8-\\\\u00F6\\\\u00F8-\\\\u02FF\\\\u0370-\\\\u037D\\\\u037F-\\\\u1FFF\\\\u200C-\\\\u200D\\\\u2070-\\\\u218F\\\\u2C00-\\\\u2FEF\\\\u3001-\\\\uD7FF\\\\uF900-\\\\uFDCF\\\\uFDF0-\\\\uFFFD';\n/* eslint-enable max-len */\n\n/**\n * DOMProperty exports lookup objects that can be used like functions:\n *\n * > DOMProperty.isValid['id']\n * true\n * > DOMProperty.isValid['foobar']\n * undefined\n *\n * Although this may be confusing, it performs better in general.\n *\n * @see http://jsperf.com/key-exists\n * @see http://jsperf.com/key-missing\n */\nvar DOMProperty = {\n ID_ATTRIBUTE_NAME: 'data-reactid',\n ROOT_ATTRIBUTE_NAME: 'data-reactroot',\n\n ATTRIBUTE_NAME_START_CHAR: ATTRIBUTE_NAME_START_CHAR,\n ATTRIBUTE_NAME_CHAR: ATTRIBUTE_NAME_START_CHAR + '\\\\-.0-9\\\\u00B7\\\\u0300-\\\\u036F\\\\u203F-\\\\u2040',\n\n /**\n * Map from property \"standard name\" to an object with info about how to set\n * the property in the DOM. Each object contains:\n *\n * attributeName:\n * Used when rendering markup or with `*Attribute()`.\n * attributeNamespace\n * propertyName:\n * Used on DOM node instances. (This includes properties that mutate due to\n * external factors.)\n * mutationMethod:\n * If non-null, used instead of the property or `setAttribute()` after\n * initial render.\n * mustUseProperty:\n * Whether the property must be accessed and mutated as an object property.\n * hasBooleanValue:\n * Whether the property should be removed when set to a falsey value.\n * hasNumericValue:\n * Whether the property must be numeric or parse as a numeric and should be\n * removed when set to a falsey value.\n * hasPositiveNumericValue:\n * Whether the property must be positive numeric or parse as a positive\n * numeric and should be removed when set to a falsey value.\n * hasOverloadedBooleanValue:\n * Whether the property can be used as a flag as well as with a value.\n * Removed when strictly equal to false; present without a value when\n * strictly equal to true; present with a value otherwise.\n */\n properties: {},\n\n /**\n * Mapping from lowercase property names to the properly cased version, used\n * to warn in the case of missing properties. Available only in __DEV__.\n *\n * autofocus is predefined, because adding it to the property whitelist\n * causes unintended side effects.\n *\n * @type {Object}\n */\n getPossibleStandardName: process.env.NODE_ENV !== 'production' ? { autofocus: 'autoFocus' } : null,\n\n /**\n * All of the isCustomAttribute() functions that have been injected.\n */\n _isCustomAttributeFunctions: [],\n\n /**\n * Checks whether a property name is a custom attribute.\n * @method\n */\n isCustomAttribute: function (attributeName) {\n for (var i = 0; i < DOMProperty._isCustomAttributeFunctions.length; i++) {\n var isCustomAttributeFn = DOMProperty._isCustomAttributeFunctions[i];\n if (isCustomAttributeFn(attributeName)) {\n return true;\n }\n }\n return false;\n },\n\n injection: DOMPropertyInjection\n};\n\nmodule.exports = DOMProperty;","/**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n */\n\n'use strict';\n\nvar ReactRef = require('./ReactRef');\nvar ReactInstrumentation = require('./ReactInstrumentation');\n\nvar warning = require('fbjs/lib/warning');\n\n/**\n * Helper to call ReactRef.attachRefs with this composite component, split out\n * to avoid allocations in the transaction mount-ready queue.\n */\nfunction attachRefs() {\n ReactRef.attachRefs(this, this._currentElement);\n}\n\nvar ReactReconciler = {\n /**\n * Initializes the component, renders markup, and registers event listeners.\n *\n * @param {ReactComponent} internalInstance\n * @param {ReactReconcileTransaction|ReactServerRenderingTransaction} transaction\n * @param {?object} the containing host component instance\n * @param {?object} info about the host container\n * @return {?string} Rendered markup to be inserted into the DOM.\n * @final\n * @internal\n */\n mountComponent: function (internalInstance, transaction, hostParent, hostContainerInfo, context, parentDebugID) // 0 in production and for roots\n {\n if (process.env.NODE_ENV !== 'production') {\n if (internalInstance._debugID !== 0) {\n ReactInstrumentation.debugTool.onBeforeMountComponent(internalInstance._debugID, internalInstance._currentElement, parentDebugID);\n }\n }\n var markup = internalInstance.mountComponent(transaction, hostParent, hostContainerInfo, context, parentDebugID);\n if (internalInstance._currentElement && internalInstance._currentElement.ref != null) {\n transaction.getReactMountReady().enqueue(attachRefs, internalInstance);\n }\n if (process.env.NODE_ENV !== 'production') {\n if (internalInstance._debugID !== 0) {\n ReactInstrumentation.debugTool.onMountComponent(internalInstance._debugID);\n }\n }\n return markup;\n },\n\n /**\n * Returns a value that can be passed to\n * ReactComponentEnvironment.replaceNodeWithMarkup.\n */\n getHostNode: function (internalInstance) {\n return internalInstance.getHostNode();\n },\n\n /**\n * Releases any resources allocated by `mountComponent`.\n *\n * @final\n * @internal\n */\n unmountComponent: function (internalInstance, safely) {\n if (process.env.NODE_ENV !== 'production') {\n if (internalInstance._debugID !== 0) {\n ReactInstrumentation.debugTool.onBeforeUnmountComponent(internalInstance._debugID);\n }\n }\n ReactRef.detachRefs(internalInstance, internalInstance._currentElement);\n internalInstance.unmountComponent(safely);\n if (process.env.NODE_ENV !== 'production') {\n if (internalInstance._debugID !== 0) {\n ReactInstrumentation.debugTool.onUnmountComponent(internalInstance._debugID);\n }\n }\n },\n\n /**\n * Update a component using a new element.\n *\n * @param {ReactComponent} internalInstance\n * @param {ReactElement} nextElement\n * @param {ReactReconcileTransaction} transaction\n * @param {object} context\n * @internal\n */\n receiveComponent: function (internalInstance, nextElement, transaction, context) {\n var prevElement = internalInstance._currentElement;\n\n if (nextElement === prevElement && context === internalInstance._context) {\n // Since elements are immutable after the owner is rendered,\n // we can do a cheap identity compare here to determine if this is a\n // superfluous reconcile. It's possible for state to be mutable but such\n // change should trigger an update of the owner which would recreate\n // the element. We explicitly check for the existence of an owner since\n // it's possible for an element created outside a composite to be\n // deeply mutated and reused.\n\n // TODO: Bailing out early is just a perf optimization right?\n // TODO: Removing the return statement should affect correctness?\n return;\n }\n\n if (process.env.NODE_ENV !== 'production') {\n if (internalInstance._debugID !== 0) {\n ReactInstrumentation.debugTool.onBeforeUpdateComponent(internalInstance._debugID, nextElement);\n }\n }\n\n var refsChanged = ReactRef.shouldUpdateRefs(prevElement, nextElement);\n\n if (refsChanged) {\n ReactRef.detachRefs(internalInstance, prevElement);\n }\n\n internalInstance.receiveComponent(nextElement, transaction, context);\n\n if (refsChanged && internalInstance._currentElement && internalInstance._currentElement.ref != null) {\n transaction.getReactMountReady().enqueue(attachRefs, internalInstance);\n }\n\n if (process.env.NODE_ENV !== 'production') {\n if (internalInstance._debugID !== 0) {\n ReactInstrumentation.debugTool.onUpdateComponent(internalInstance._debugID);\n }\n }\n },\n\n /**\n * Flush any dirty changes in a component.\n *\n * @param {ReactComponent} internalInstance\n * @param {ReactReconcileTransaction} transaction\n * @internal\n */\n performUpdateIfNecessary: function (internalInstance, transaction, updateBatchNumber) {\n if (internalInstance._updateBatchNumber !== updateBatchNumber) {\n // The component's enqueued batch number should always be the current\n // batch or the following one.\n process.env.NODE_ENV !== 'production' ? warning(internalInstance._updateBatchNumber == null || internalInstance._updateBatchNumber === updateBatchNumber + 1, 'performUpdateIfNecessary: Unexpected batch number (current %s, ' + 'pending %s)', updateBatchNumber, internalInstance._updateBatchNumber) : void 0;\n return;\n }\n if (process.env.NODE_ENV !== 'production') {\n if (internalInstance._debugID !== 0) {\n ReactInstrumentation.debugTool.onBeforeUpdateComponent(internalInstance._debugID, internalInstance._currentElement);\n }\n }\n internalInstance.performUpdateIfNecessary(transaction);\n if (process.env.NODE_ENV !== 'production') {\n if (internalInstance._debugID !== 0) {\n ReactInstrumentation.debugTool.onUpdateComponent(internalInstance._debugID);\n }\n }\n }\n};\n\nmodule.exports = ReactReconciler;","/**\n * Copyright (c) 2015-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n */\n\n'use strict';\n\nvar DOMNamespaces = require('./DOMNamespaces');\nvar setInnerHTML = require('./setInnerHTML');\n\nvar createMicrosoftUnsafeLocalFunction = require('./createMicrosoftUnsafeLocalFunction');\nvar setTextContent = require('./setTextContent');\n\nvar ELEMENT_NODE_TYPE = 1;\nvar DOCUMENT_FRAGMENT_NODE_TYPE = 11;\n\n/**\n * In IE (8-11) and Edge, appending nodes with no children is dramatically\n * faster than appending a full subtree, so we essentially queue up the\n * .appendChild calls here and apply them so each node is added to its parent\n * before any children are added.\n *\n * In other browsers, doing so is slower or neutral compared to the other order\n * (in Firefox, twice as slow) so we only do this inversion in IE.\n *\n * See https://github.com/spicyj/innerhtml-vs-createelement-vs-clonenode.\n */\nvar enableLazy = typeof document !== 'undefined' && typeof document.documentMode === 'number' || typeof navigator !== 'undefined' && typeof navigator.userAgent === 'string' && /\\bEdge\\/\\d/.test(navigator.userAgent);\n\nfunction insertTreeChildren(tree) {\n if (!enableLazy) {\n return;\n }\n var node = tree.node;\n var children = tree.children;\n if (children.length) {\n for (var i = 0; i < children.length; i++) {\n insertTreeBefore(node, children[i], null);\n }\n } else if (tree.html != null) {\n setInnerHTML(node, tree.html);\n } else if (tree.text != null) {\n setTextContent(node, tree.text);\n }\n}\n\nvar insertTreeBefore = createMicrosoftUnsafeLocalFunction(function (parentNode, tree, referenceNode) {\n // DocumentFragments aren't actually part of the DOM after insertion so\n // appending children won't update the DOM. We need to ensure the fragment\n // is properly populated first, breaking out of our lazy approach for just\n // this level. Also, some plugins (like Flash Player) will read\n // nodes immediately upon insertion into the DOM, so \n // must also be populated prior to insertion into the DOM.\n if (tree.node.nodeType === DOCUMENT_FRAGMENT_NODE_TYPE || tree.node.nodeType === ELEMENT_NODE_TYPE && tree.node.nodeName.toLowerCase() === 'object' && (tree.node.namespaceURI == null || tree.node.namespaceURI === DOMNamespaces.html)) {\n insertTreeChildren(tree);\n parentNode.insertBefore(tree.node, referenceNode);\n } else {\n parentNode.insertBefore(tree.node, referenceNode);\n insertTreeChildren(tree);\n }\n});\n\nfunction replaceChildWithTree(oldNode, newTree) {\n oldNode.parentNode.replaceChild(newTree.node, oldNode);\n insertTreeChildren(newTree);\n}\n\nfunction queueChild(parentTree, childTree) {\n if (enableLazy) {\n parentTree.children.push(childTree);\n } else {\n parentTree.node.appendChild(childTree.node);\n }\n}\n\nfunction queueHTML(tree, html) {\n if (enableLazy) {\n tree.html = html;\n } else {\n setInnerHTML(tree.node, html);\n }\n}\n\nfunction queueText(tree, text) {\n if (enableLazy) {\n tree.text = text;\n } else {\n setTextContent(tree.node, text);\n }\n}\n\nfunction toString() {\n return this.node.nodeName;\n}\n\nfunction DOMLazyTree(node) {\n return {\n node: node,\n children: [],\n html: null,\n text: null,\n toString: toString\n };\n}\n\nDOMLazyTree.insertTreeBefore = insertTreeBefore;\nDOMLazyTree.replaceChildWithTree = replaceChildWithTree;\nDOMLazyTree.queueChild = queueChild;\nDOMLazyTree.queueHTML = queueHTML;\nDOMLazyTree.queueText = queueText;\n\nmodule.exports = DOMLazyTree;","'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = createChainableTypeChecker;\n/**\n * Copyright 2013-present, Facebook, Inc.\n * All rights reserved.\n *\n * This source code is licensed under the BSD-style license found in the\n * LICENSE file in the root directory of this source tree. An additional grant\n * of patent rights can be found in the PATENTS file in the same directory.\n */\n\n// Mostly taken from ReactPropTypes.\n\nfunction createChainableTypeChecker(validate) {\n function checkType(isRequired, props, propName, componentName, location, propFullName) {\n var componentNameSafe = componentName || '<>';\n var propFullNameSafe = propFullName || propName;\n\n if (props[propName] == null) {\n if (isRequired) {\n return new Error('Required ' + location + ' `' + propFullNameSafe + '` was not specified ' + ('in `' + componentNameSafe + '`.'));\n }\n\n return null;\n }\n\n for (var _len = arguments.length, args = Array(_len > 6 ? _len - 6 : 0), _key = 6; _key < _len; _key++) {\n args[_key - 6] = arguments[_key];\n }\n\n return validate.apply(undefined, [props, propName, componentNameSafe, location, propFullNameSafe].concat(args));\n }\n\n var chainedCheckType = checkType.bind(null, false);\n chainedCheckType.isRequired = checkType.bind(null, true);\n\n return chainedCheckType;\n}\nmodule.exports = exports['default'];","'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = all;\n\nvar _createChainableTypeChecker = require('./utils/createChainableTypeChecker');\n\nvar _createChainableTypeChecker2 = _interopRequireDefault(_createChainableTypeChecker);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction all() {\n for (var _len = arguments.length, validators = Array(_len), _key = 0; _key < _len; _key++) {\n validators[_key] = arguments[_key];\n }\n\n function allPropTypes() {\n for (var _len2 = arguments.length, args = Array(_len2), _key2 = 0; _key2 < _len2; _key2++) {\n args[_key2] = arguments[_key2];\n }\n\n var error = null;\n\n validators.forEach(function (validator) {\n if (error != null) {\n return;\n }\n\n var result = validator.apply(undefined, args);\n if (result != null) {\n error = result;\n }\n });\n\n return error;\n }\n\n return (0, _createChainableTypeChecker2.default)(allPropTypes);\n}\nmodule.exports = exports['default'];","'use strict';\n\nexports.__esModule = true;\n\nvar _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; };\n\nvar _activeElement = require('dom-helpers/activeElement');\n\nvar _activeElement2 = _interopRequireDefault(_activeElement);\n\nvar _contains = require('dom-helpers/query/contains');\n\nvar _contains2 = _interopRequireDefault(_contains);\n\nvar _inDOM = require('dom-helpers/util/inDOM');\n\nvar _inDOM2 = _interopRequireDefault(_inDOM);\n\nvar _propTypes = require('prop-types');\n\nvar _propTypes2 = _interopRequireDefault(_propTypes);\n\nvar _componentOrElement = require('prop-types-extra/lib/componentOrElement');\n\nvar _componentOrElement2 = _interopRequireDefault(_componentOrElement);\n\nvar _deprecated = require('prop-types-extra/lib/deprecated');\n\nvar _deprecated2 = _interopRequireDefault(_deprecated);\n\nvar _elementType = require('prop-types-extra/lib/elementType');\n\nvar _elementType2 = _interopRequireDefault(_elementType);\n\nvar _react = require('react');\n\nvar _react2 = _interopRequireDefault(_react);\n\nvar _reactDom = require('react-dom');\n\nvar _reactDom2 = _interopRequireDefault(_reactDom);\n\nvar _warning = require('warning');\n\nvar _warning2 = _interopRequireDefault(_warning);\n\nvar _ModalManager = require('./ModalManager');\n\nvar _ModalManager2 = _interopRequireDefault(_ModalManager);\n\nvar _Portal = require('./Portal');\n\nvar _Portal2 = _interopRequireDefault(_Portal);\n\nvar _RefHolder = require('./RefHolder');\n\nvar _RefHolder2 = _interopRequireDefault(_RefHolder);\n\nvar _addEventListener = require('./utils/addEventListener');\n\nvar _addEventListener2 = _interopRequireDefault(_addEventListener);\n\nvar _addFocusListener = require('./utils/addFocusListener');\n\nvar _addFocusListener2 = _interopRequireDefault(_addFocusListener);\n\nvar _getContainer = require('./utils/getContainer');\n\nvar _getContainer2 = _interopRequireDefault(_getContainer);\n\nvar _ownerDocument = require('./utils/ownerDocument');\n\nvar _ownerDocument2 = _interopRequireDefault(_ownerDocument);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; } /* eslint-disable react/prop-types */\n\nvar modalManager = new _ModalManager2.default();\n\n/**\n * Love them or hate them, `` provides a solid foundation for creating dialogs, lightboxes, or whatever else.\n * The Modal component renders its `children` node in front of a backdrop component.\n *\n * The Modal offers a few helpful features over using just a `` component and some styles:\n *\n * - Manages dialog stacking when one-at-a-time just isn't enough.\n * - Creates a backdrop, for disabling interaction below the modal.\n * - It properly manages focus; moving to the modal content, and keeping it there until the modal is closed.\n * - It disables scrolling of the page content while open.\n * - Adds the appropriate ARIA roles are automatically.\n * - Easily pluggable animations via a `` component.\n *\n * Note that, in the same way the backdrop element prevents users from clicking or interacting\n * with the page content underneath the Modal, Screen readers also need to be signaled to not to\n * interact with page content while the Modal is open. To do this, we use a common technique of applying\n * the `aria-hidden='true'` attribute to the non-Modal elements in the Modal `container`. This means that for\n * a Modal to be truly modal, it should have a `container` that is _outside_ your app's\n * React hierarchy (such as the default: document.body).\n */\n\nvar Modal = function (_React$Component) {\n _inherits(Modal, _React$Component);\n\n function Modal() {\n var _temp, _this, _ret;\n\n _classCallCheck(this, Modal);\n\n for (var _len = arguments.length, args = Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n return _ret = (_temp = (_this = _possibleConstructorReturn(this, _React$Component.call.apply(_React$Component, [this].concat(args))), _this), _initialiseProps.call(_this), _temp), _possibleConstructorReturn(_this, _ret);\n }\n\n Modal.prototype.omitProps = function omitProps(props, propTypes) {\n\n var keys = Object.keys(props);\n var newProps = {};\n keys.map(function (prop) {\n if (!Object.prototype.hasOwnProperty.call(propTypes, prop)) {\n newProps[prop] = props[prop];\n }\n });\n\n return newProps;\n };\n\n Modal.prototype.render = function render() {\n var _props = this.props,\n show = _props.show,\n container = _props.container,\n children = _props.children,\n Transition = _props.transition,\n backdrop = _props.backdrop,\n className = _props.className,\n style = _props.style,\n onExit = _props.onExit,\n onExiting = _props.onExiting,\n onEnter = _props.onEnter,\n onEntering = _props.onEntering,\n onEntered = _props.onEntered;\n\n\n var dialog = _react2.default.Children.only(children);\n var filteredProps = this.omitProps(this.props, Modal.propTypes);\n\n var mountModal = show || Transition && !this.state.exited;\n if (!mountModal) {\n return null;\n }\n\n var _dialog$props = dialog.props,\n role = _dialog$props.role,\n tabIndex = _dialog$props.tabIndex;\n\n\n if (role === undefined || tabIndex === undefined) {\n dialog = (0, _react.cloneElement)(dialog, {\n role: role === undefined ? 'document' : role,\n tabIndex: tabIndex == null ? '-1' : tabIndex\n });\n }\n\n if (Transition) {\n dialog = _react2.default.createElement(\n Transition,\n {\n appear: true,\n unmountOnExit: true,\n 'in': show,\n onExit: onExit,\n onExiting: onExiting,\n onExited: this.handleHidden,\n onEnter: onEnter,\n onEntering: onEntering,\n onEntered: onEntered\n },\n dialog\n );\n }\n\n return _react2.default.createElement(\n _Portal2.default,\n {\n ref: this.setMountNode,\n container: container,\n onRendered: this.onPortalRendered\n },\n _react2.default.createElement(\n 'div',\n _extends({\n ref: this.setModalNodeRef,\n role: role || 'dialog'\n }, filteredProps, {\n style: style,\n className: className\n }),\n backdrop && this.renderBackdrop(),\n _react2.default.createElement(\n _RefHolder2.default,\n { ref: this.setDialogRef },\n dialog\n )\n )\n );\n };\n\n Modal.prototype.componentWillReceiveProps = function componentWillReceiveProps(nextProps) {\n if (nextProps.show) {\n this.setState({ exited: false });\n } else if (!nextProps.transition) {\n // Otherwise let handleHidden take care of marking exited.\n this.setState({ exited: true });\n }\n };\n\n Modal.prototype.componentWillUpdate = function componentWillUpdate(nextProps) {\n if (!this.props.show && nextProps.show) {\n this.checkForFocus();\n }\n };\n\n Modal.prototype.componentDidMount = function componentDidMount() {\n this._isMounted = true;\n if (this.props.show) {\n this.onShow();\n }\n };\n\n Modal.prototype.componentDidUpdate = function componentDidUpdate(prevProps) {\n var transition = this.props.transition;\n\n\n if (prevProps.show && !this.props.show && !transition) {\n // Otherwise handleHidden will call this.\n this.onHide();\n } else if (!prevProps.show && this.props.show) {\n this.onShow();\n }\n };\n\n Modal.prototype.componentWillUnmount = function componentWillUnmount() {\n var _props2 = this.props,\n show = _props2.show,\n transition = _props2.transition;\n\n\n this._isMounted = false;\n\n if (show || transition && !this.state.exited) {\n this.onHide();\n }\n };\n\n Modal.prototype.autoFocus = function autoFocus() {\n if (!this.props.autoFocus) {\n return;\n }\n\n var dialogElement = this.getDialogElement();\n var currentActiveElement = (0, _activeElement2.default)((0, _ownerDocument2.default)(this));\n\n if (dialogElement && !(0, _contains2.default)(dialogElement, currentActiveElement)) {\n this.lastFocus = currentActiveElement;\n\n if (!dialogElement.hasAttribute('tabIndex')) {\n (0, _warning2.default)(false, 'The modal content node does not accept focus. For the benefit of ' + 'assistive technologies, the tabIndex of the node is being set ' + 'to \"-1\".');\n\n dialogElement.setAttribute('tabIndex', -1);\n }\n\n dialogElement.focus();\n }\n };\n\n Modal.prototype.restoreLastFocus = function restoreLastFocus() {\n // Support: <=IE11 doesn't support `focus()` on svg elements (RB: #917)\n if (this.lastFocus && this.lastFocus.focus) {\n this.lastFocus.focus();\n this.lastFocus = null;\n }\n };\n\n Modal.prototype.getDialogElement = function getDialogElement() {\n return _reactDom2.default.findDOMNode(this.dialog);\n };\n\n Modal.prototype.isTopModal = function isTopModal() {\n return this.props.manager.isTopModal(this);\n };\n\n return Modal;\n}(_react2.default.Component);\n\nModal.propTypes = _extends({}, _Portal2.default.propTypes, {\n\n /**\n * Set the visibility of the Modal\n */\n show: _propTypes2.default.bool,\n\n /**\n * A Node, Component instance, or function that returns either. The Modal is appended to it's container element.\n *\n * For the sake of assistive technologies, the container should usually be the document body, so that the rest of the\n * page content can be placed behind a virtual backdrop as well as a visual one.\n */\n container: _propTypes2.default.oneOfType([_componentOrElement2.default, _propTypes2.default.func]),\n\n /**\n * A callback fired when the Modal is opening.\n */\n onShow: _propTypes2.default.func,\n\n /**\n * A callback fired when either the backdrop is clicked, or the escape key is pressed.\n *\n * The `onHide` callback only signals intent from the Modal,\n * you must actually set the `show` prop to `false` for the Modal to close.\n */\n onHide: _propTypes2.default.func,\n\n /**\n * Include a backdrop component.\n */\n backdrop: _propTypes2.default.oneOfType([_propTypes2.default.bool, _propTypes2.default.oneOf(['static'])]),\n\n /**\n * A function that returns a backdrop component. Useful for custom\n * backdrop rendering.\n *\n * ```js\n * renderBackdrop={props => }\n * ```\n */\n renderBackdrop: _propTypes2.default.func,\n\n /**\n * A callback fired when the escape key, if specified in `keyboard`, is pressed.\n */\n onEscapeKeyDown: _propTypes2.default.func,\n\n /**\n * Support for this function will be deprecated. Please use `onEscapeKeyDown` instead\n * A callback fired when the escape key, if specified in `keyboard`, is pressed.\n * @deprecated\n */\n onEscapeKeyUp: (0, _deprecated2.default)(_propTypes2.default.func, 'Please use onEscapeKeyDown instead for consistency'),\n\n /**\n * A callback fired when the backdrop, if specified, is clicked.\n */\n onBackdropClick: _propTypes2.default.func,\n\n /**\n * A style object for the backdrop component.\n */\n backdropStyle: _propTypes2.default.object,\n\n /**\n * A css class or classes for the backdrop component.\n */\n backdropClassName: _propTypes2.default.string,\n\n /**\n * A css class or set of classes applied to the modal container when the modal is open,\n * and removed when it is closed.\n */\n containerClassName: _propTypes2.default.string,\n\n /**\n * Close the modal when escape key is pressed\n */\n keyboard: _propTypes2.default.bool,\n\n /**\n * A `react-transition-group@2.0.0` `` component used\n * to control animations for the dialog component.\n */\n transition: _elementType2.default,\n\n /**\n * A `react-transition-group@2.0.0` `` component used\n * to control animations for the backdrop components.\n */\n backdropTransition: _elementType2.default,\n\n /**\n * When `true` The modal will automatically shift focus to itself when it opens, and\n * replace it to the last focused element when it closes. This also\n * works correctly with any Modal children that have the `autoFocus` prop.\n *\n * Generally this should never be set to `false` as it makes the Modal less\n * accessible to assistive technologies, like screen readers.\n */\n autoFocus: _propTypes2.default.bool,\n\n /**\n * When `true` The modal will prevent focus from leaving the Modal while open.\n *\n * Generally this should never be set to `false` as it makes the Modal less\n * accessible to assistive technologies, like screen readers.\n */\n enforceFocus: _propTypes2.default.bool,\n\n /**\n * When `true` The modal will restore focus to previously focused element once\n * modal is hidden\n */\n restoreFocus: _propTypes2.default.bool,\n\n /**\n * Callback fired before the Modal transitions in\n */\n onEnter: _propTypes2.default.func,\n\n /**\n * Callback fired as the Modal begins to transition in\n */\n onEntering: _propTypes2.default.func,\n\n /**\n * Callback fired after the Modal finishes transitioning in\n */\n onEntered: _propTypes2.default.func,\n\n /**\n * Callback fired right before the Modal transitions out\n */\n onExit: _propTypes2.default.func,\n\n /**\n * Callback fired as the Modal begins to transition out\n */\n onExiting: _propTypes2.default.func,\n\n /**\n * Callback fired after the Modal finishes transitioning out\n */\n onExited: _propTypes2.default.func,\n\n /**\n * A ModalManager instance used to track and manage the state of open\n * Modals. Useful when customizing how modals interact within a container\n */\n manager: _propTypes2.default.object.isRequired\n});\nModal.defaultProps = {\n show: false,\n backdrop: true,\n keyboard: true,\n autoFocus: true,\n enforceFocus: true,\n restoreFocus: true,\n onHide: function onHide() {},\n manager: modalManager,\n renderBackdrop: function renderBackdrop(props) {\n return _react2.default.createElement('div', props);\n }\n};\n\nvar _initialiseProps = function _initialiseProps() {\n var _this2 = this;\n\n this.state = { exited: !this.props.show };\n\n this.renderBackdrop = function () {\n var _props3 = _this2.props,\n backdropStyle = _props3.backdropStyle,\n backdropClassName = _props3.backdropClassName,\n renderBackdrop = _props3.renderBackdrop,\n Transition = _props3.backdropTransition;\n\n\n var backdropRef = function backdropRef(ref) {\n return _this2.backdrop = ref;\n };\n\n var backdrop = renderBackdrop({\n ref: backdropRef,\n style: backdropStyle,\n className: backdropClassName,\n onClick: _this2.handleBackdropClick\n });\n\n if (Transition) {\n backdrop = _react2.default.createElement(\n Transition,\n {\n appear: true,\n 'in': _this2.props.show\n },\n backdrop\n );\n }\n\n return backdrop;\n };\n\n this.onPortalRendered = function () {\n _this2.autoFocus();\n\n if (_this2.props.onShow) {\n _this2.props.onShow();\n }\n };\n\n this.onShow = function () {\n var doc = (0, _ownerDocument2.default)(_this2);\n var container = (0, _getContainer2.default)(_this2.props.container, doc.body);\n\n _this2.props.manager.add(_this2, container, _this2.props.containerClassName);\n\n _this2._onDocumentKeydownListener = (0, _addEventListener2.default)(doc, 'keydown', _this2.handleDocumentKeyDown);\n\n _this2._onDocumentKeyupListener = (0, _addEventListener2.default)(doc, 'keyup', _this2.handleDocumentKeyUp);\n\n _this2._onFocusinListener = (0, _addFocusListener2.default)(_this2.enforceFocus);\n };\n\n this.onHide = function () {\n _this2.props.manager.remove(_this2);\n\n _this2._onDocumentKeydownListener.remove();\n\n _this2._onDocumentKeyupListener.remove();\n\n _this2._onFocusinListener.remove();\n\n if (_this2.props.restoreFocus) {\n _this2.restoreLastFocus();\n }\n };\n\n this.setMountNode = function (ref) {\n _this2.mountNode = ref ? ref.getMountNode() : ref;\n };\n\n this.setModalNodeRef = function (ref) {\n _this2.modalNode = ref;\n };\n\n this.setDialogRef = function (ref) {\n _this2.dialog = ref;\n };\n\n this.handleHidden = function () {\n _this2.setState({ exited: true });\n _this2.onHide();\n\n if (_this2.props.onExited) {\n var _props4;\n\n (_props4 = _this2.props).onExited.apply(_props4, arguments);\n }\n };\n\n this.handleBackdropClick = function (e) {\n if (e.target !== e.currentTarget) {\n return;\n }\n\n if (_this2.props.onBackdropClick) {\n _this2.props.onBackdropClick(e);\n }\n\n if (_this2.props.backdrop === true) {\n _this2.props.onHide();\n }\n };\n\n this.handleDocumentKeyDown = function (e) {\n if (_this2.props.keyboard && e.keyCode === 27 && _this2.isTopModal()) {\n if (_this2.props.onEscapeKeyDown) {\n _this2.props.onEscapeKeyDown(e);\n }\n\n _this2.props.onHide();\n }\n };\n\n this.handleDocumentKeyUp = function (e) {\n if (_this2.props.keyboard && e.keyCode === 27 && _this2.isTopModal()) {\n if (_this2.props.onEscapeKeyUp) {\n _this2.props.onEscapeKeyUp(e);\n }\n }\n };\n\n this.checkForFocus = function () {\n if (_inDOM2.default) {\n _this2.lastFocus = (0, _activeElement2.default)();\n }\n };\n\n this.enforceFocus = function () {\n if (!_this2.props.enforceFocus || !_this2._isMounted || !_this2.isTopModal()) {\n return;\n }\n\n var dialogElement = _this2.getDialogElement();\n var currentActiveElement = (0, _activeElement2.default)((0, _ownerDocument2.default)(_this2));\n\n if (dialogElement && !(0, _contains2.default)(dialogElement, currentActiveElement)) {\n dialogElement.focus();\n }\n };\n};\n\nModal.Manager = _ModalManager2.default;\n\nexports.default = Modal;\nmodule.exports = exports['default'];","/**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * \n */\n'use strict';\n\n/**\n * WARNING: DO NOT manually require this module.\n * This is a replacement for `invariant(...)` used by the error code system\n * and will _only_ be required by the corresponding babel pass.\n * It always throws.\n */\n\nfunction reactProdInvariant(code) {\n var argCount = arguments.length - 1;\n\n var message = 'Minified React error #' + code + '; visit ' + 'http://facebook.github.io/react/docs/error-decoder.html?invariant=' + code;\n\n for (var argIdx = 0; argIdx < argCount; argIdx++) {\n message += '&args[]=' + encodeURIComponent(arguments[argIdx + 1]);\n }\n\n message += ' for the full message or use the non-minified dev environment' + ' for full errors and additional helpful warnings.';\n\n var error = new Error(message);\n error.name = 'Invariant Violation';\n error.framesToPop = 1; // we don't care about reactProdInvariant's own frame\n\n throw error;\n}\n\nmodule.exports = reactProdInvariant;","/**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n */\n\n'use strict';\n\nvar EventPluginHub = require('./EventPluginHub');\nvar EventPluginUtils = require('./EventPluginUtils');\n\nvar accumulateInto = require('./accumulateInto');\nvar forEachAccumulated = require('./forEachAccumulated');\nvar warning = require('fbjs/lib/warning');\n\nvar getListener = EventPluginHub.getListener;\n\n/**\n * Some event types have a notion of different registration names for different\n * \"phases\" of propagation. This finds listeners by a given phase.\n */\nfunction listenerAtPhase(inst, event, propagationPhase) {\n var registrationName = event.dispatchConfig.phasedRegistrationNames[propagationPhase];\n return getListener(inst, registrationName);\n}\n\n/**\n * Tags a `SyntheticEvent` with dispatched listeners. Creating this function\n * here, allows us to not have to bind or create functions for each event.\n * Mutating the event's members allows us to not have to create a wrapping\n * \"dispatch\" object that pairs the event with the listener.\n */\nfunction accumulateDirectionalDispatches(inst, phase, event) {\n if (process.env.NODE_ENV !== 'production') {\n process.env.NODE_ENV !== 'production' ? warning(inst, 'Dispatching inst must not be null') : void 0;\n }\n var listener = listenerAtPhase(inst, event, phase);\n if (listener) {\n event._dispatchListeners = accumulateInto(event._dispatchListeners, listener);\n event._dispatchInstances = accumulateInto(event._dispatchInstances, inst);\n }\n}\n\n/**\n * Collect dispatches (must be entirely collected before dispatching - see unit\n * tests). Lazily allocate the array to conserve memory. We must loop through\n * each event and perform the traversal for each one. We cannot perform a\n * single traversal for the entire collection of events because each event may\n * have a different target.\n */\nfunction accumulateTwoPhaseDispatchesSingle(event) {\n if (event && event.dispatchConfig.phasedRegistrationNames) {\n EventPluginUtils.traverseTwoPhase(event._targetInst, accumulateDirectionalDispatches, event);\n }\n}\n\n/**\n * Same as `accumulateTwoPhaseDispatchesSingle`, but skips over the targetID.\n */\nfunction accumulateTwoPhaseDispatchesSingleSkipTarget(event) {\n if (event && event.dispatchConfig.phasedRegistrationNames) {\n var targetInst = event._targetInst;\n var parentInst = targetInst ? EventPluginUtils.getParentInstance(targetInst) : null;\n EventPluginUtils.traverseTwoPhase(parentInst, accumulateDirectionalDispatches, event);\n }\n}\n\n/**\n * Accumulates without regard to direction, does not look for phased\n * registration names. Same as `accumulateDirectDispatchesSingle` but without\n * requiring that the `dispatchMarker` be the same as the dispatched ID.\n */\nfunction accumulateDispatches(inst, ignoredDirection, event) {\n if (event && event.dispatchConfig.registrationName) {\n var registrationName = event.dispatchConfig.registrationName;\n var listener = getListener(inst, registrationName);\n if (listener) {\n event._dispatchListeners = accumulateInto(event._dispatchListeners, listener);\n event._dispatchInstances = accumulateInto(event._dispatchInstances, inst);\n }\n }\n}\n\n/**\n * Accumulates dispatches on an `SyntheticEvent`, but only for the\n * `dispatchMarker`.\n * @param {SyntheticEvent} event\n */\nfunction accumulateDirectDispatchesSingle(event) {\n if (event && event.dispatchConfig.registrationName) {\n accumulateDispatches(event._targetInst, null, event);\n }\n}\n\nfunction accumulateTwoPhaseDispatches(events) {\n forEachAccumulated(events, accumulateTwoPhaseDispatchesSingle);\n}\n\nfunction accumulateTwoPhaseDispatchesSkipTarget(events) {\n forEachAccumulated(events, accumulateTwoPhaseDispatchesSingleSkipTarget);\n}\n\nfunction accumulateEnterLeaveDispatches(leave, enter, from, to) {\n EventPluginUtils.traverseEnterLeave(from, to, accumulateDispatches, leave, enter);\n}\n\nfunction accumulateDirectDispatches(events) {\n forEachAccumulated(events, accumulateDirectDispatchesSingle);\n}\n\n/**\n * A small set of propagation patterns, each of which will accept a small amount\n * of information, and generate a set of \"dispatch ready event objects\" - which\n * are sets of events that have already been annotated with a set of dispatched\n * listener functions/ids. The API is designed this way to discourage these\n * propagation strategies from actually executing the dispatches, since we\n * always want to collect the entire set of dispatches before executing event a\n * single one.\n *\n * @constructor EventPropagators\n */\nvar EventPropagators = {\n accumulateTwoPhaseDispatches: accumulateTwoPhaseDispatches,\n accumulateTwoPhaseDispatchesSkipTarget: accumulateTwoPhaseDispatchesSkipTarget,\n accumulateDirectDispatches: accumulateDirectDispatches,\n accumulateEnterLeaveDispatches: accumulateEnterLeaveDispatches\n};\n\nmodule.exports = EventPropagators;","/**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n */\n\n'use strict';\n\nvar _prodInvariant = require('./reactProdInvariant');\n\nvar EventPluginRegistry = require('./EventPluginRegistry');\nvar EventPluginUtils = require('./EventPluginUtils');\nvar ReactErrorUtils = require('./ReactErrorUtils');\n\nvar accumulateInto = require('./accumulateInto');\nvar forEachAccumulated = require('./forEachAccumulated');\nvar invariant = require('fbjs/lib/invariant');\n\n/**\n * Internal store for event listeners\n */\nvar listenerBank = {};\n\n/**\n * Internal queue of events that have accumulated their dispatches and are\n * waiting to have their dispatches executed.\n */\nvar eventQueue = null;\n\n/**\n * Dispatches an event and releases it back into the pool, unless persistent.\n *\n * @param {?object} event Synthetic event to be dispatched.\n * @param {boolean} simulated If the event is simulated (changes exn behavior)\n * @private\n */\nvar executeDispatchesAndRelease = function (event, simulated) {\n if (event) {\n EventPluginUtils.executeDispatchesInOrder(event, simulated);\n\n if (!event.isPersistent()) {\n event.constructor.release(event);\n }\n }\n};\nvar executeDispatchesAndReleaseSimulated = function (e) {\n return executeDispatchesAndRelease(e, true);\n};\nvar executeDispatchesAndReleaseTopLevel = function (e) {\n return executeDispatchesAndRelease(e, false);\n};\n\nvar getDictionaryKey = function (inst) {\n // Prevents V8 performance issue:\n // https://github.com/facebook/react/pull/7232\n return '.' + inst._rootNodeID;\n};\n\nfunction isInteractive(tag) {\n return tag === 'button' || tag === 'input' || tag === 'select' || tag === 'textarea';\n}\n\nfunction shouldPreventMouseEvent(name, type, props) {\n switch (name) {\n case 'onClick':\n case 'onClickCapture':\n case 'onDoubleClick':\n case 'onDoubleClickCapture':\n case 'onMouseDown':\n case 'onMouseDownCapture':\n case 'onMouseMove':\n case 'onMouseMoveCapture':\n case 'onMouseUp':\n case 'onMouseUpCapture':\n return !!(props.disabled && isInteractive(type));\n default:\n return false;\n }\n}\n\n/**\n * This is a unified interface for event plugins to be installed and configured.\n *\n * Event plugins can implement the following properties:\n *\n * `extractEvents` {function(string, DOMEventTarget, string, object): *}\n * Required. When a top-level event is fired, this method is expected to\n * extract synthetic events that will in turn be queued and dispatched.\n *\n * `eventTypes` {object}\n * Optional, plugins that fire events must publish a mapping of registration\n * names that are used to register listeners. Values of this mapping must\n * be objects that contain `registrationName` or `phasedRegistrationNames`.\n *\n * `executeDispatch` {function(object, function, string)}\n * Optional, allows plugins to override how an event gets dispatched. By\n * default, the listener is simply invoked.\n *\n * Each plugin that is injected into `EventsPluginHub` is immediately operable.\n *\n * @public\n */\nvar EventPluginHub = {\n /**\n * Methods for injecting dependencies.\n */\n injection: {\n /**\n * @param {array} InjectedEventPluginOrder\n * @public\n */\n injectEventPluginOrder: EventPluginRegistry.injectEventPluginOrder,\n\n /**\n * @param {object} injectedNamesToPlugins Map from names to plugin modules.\n */\n injectEventPluginsByName: EventPluginRegistry.injectEventPluginsByName\n },\n\n /**\n * Stores `listener` at `listenerBank[registrationName][key]`. Is idempotent.\n *\n * @param {object} inst The instance, which is the source of events.\n * @param {string} registrationName Name of listener (e.g. `onClick`).\n * @param {function} listener The callback to store.\n */\n putListener: function (inst, registrationName, listener) {\n !(typeof listener === 'function') ? process.env.NODE_ENV !== 'production' ? invariant(false, 'Expected %s listener to be a function, instead got type %s', registrationName, typeof listener) : _prodInvariant('94', registrationName, typeof listener) : void 0;\n\n var key = getDictionaryKey(inst);\n var bankForRegistrationName = listenerBank[registrationName] || (listenerBank[registrationName] = {});\n bankForRegistrationName[key] = listener;\n\n var PluginModule = EventPluginRegistry.registrationNameModules[registrationName];\n if (PluginModule && PluginModule.didPutListener) {\n PluginModule.didPutListener(inst, registrationName, listener);\n }\n },\n\n /**\n * @param {object} inst The instance, which is the source of events.\n * @param {string} registrationName Name of listener (e.g. `onClick`).\n * @return {?function} The stored callback.\n */\n getListener: function (inst, registrationName) {\n // TODO: shouldPreventMouseEvent is DOM-specific and definitely should not\n // live here; needs to be moved to a better place soon\n var bankForRegistrationName = listenerBank[registrationName];\n if (shouldPreventMouseEvent(registrationName, inst._currentElement.type, inst._currentElement.props)) {\n return null;\n }\n var key = getDictionaryKey(inst);\n return bankForRegistrationName && bankForRegistrationName[key];\n },\n\n /**\n * Deletes a listener from the registration bank.\n *\n * @param {object} inst The instance, which is the source of events.\n * @param {string} registrationName Name of listener (e.g. `onClick`).\n */\n deleteListener: function (inst, registrationName) {\n var PluginModule = EventPluginRegistry.registrationNameModules[registrationName];\n if (PluginModule && PluginModule.willDeleteListener) {\n PluginModule.willDeleteListener(inst, registrationName);\n }\n\n var bankForRegistrationName = listenerBank[registrationName];\n // TODO: This should never be null -- when is it?\n if (bankForRegistrationName) {\n var key = getDictionaryKey(inst);\n delete bankForRegistrationName[key];\n }\n },\n\n /**\n * Deletes all listeners for the DOM element with the supplied ID.\n *\n * @param {object} inst The instance, which is the source of events.\n */\n deleteAllListeners: function (inst) {\n var key = getDictionaryKey(inst);\n for (var registrationName in listenerBank) {\n if (!listenerBank.hasOwnProperty(registrationName)) {\n continue;\n }\n\n if (!listenerBank[registrationName][key]) {\n continue;\n }\n\n var PluginModule = EventPluginRegistry.registrationNameModules[registrationName];\n if (PluginModule && PluginModule.willDeleteListener) {\n PluginModule.willDeleteListener(inst, registrationName);\n }\n\n delete listenerBank[registrationName][key];\n }\n },\n\n /**\n * Allows registered plugins an opportunity to extract events from top-level\n * native browser events.\n *\n * @return {*} An accumulation of synthetic events.\n * @internal\n */\n extractEvents: function (topLevelType, targetInst, nativeEvent, nativeEventTarget) {\n var events;\n var plugins = EventPluginRegistry.plugins;\n for (var i = 0; i < plugins.length; i++) {\n // Not every plugin in the ordering may be loaded at runtime.\n var possiblePlugin = plugins[i];\n if (possiblePlugin) {\n var extractedEvents = possiblePlugin.extractEvents(topLevelType, targetInst, nativeEvent, nativeEventTarget);\n if (extractedEvents) {\n events = accumulateInto(events, extractedEvents);\n }\n }\n }\n return events;\n },\n\n /**\n * Enqueues a synthetic event that should be dispatched when\n * `processEventQueue` is invoked.\n *\n * @param {*} events An accumulation of synthetic events.\n * @internal\n */\n enqueueEvents: function (events) {\n if (events) {\n eventQueue = accumulateInto(eventQueue, events);\n }\n },\n\n /**\n * Dispatches all synthetic events on the event queue.\n *\n * @internal\n */\n processEventQueue: function (simulated) {\n // Set `eventQueue` to null before processing it so that we can tell if more\n // events get enqueued while processing.\n var processingEventQueue = eventQueue;\n eventQueue = null;\n if (simulated) {\n forEachAccumulated(processingEventQueue, executeDispatchesAndReleaseSimulated);\n } else {\n forEachAccumulated(processingEventQueue, executeDispatchesAndReleaseTopLevel);\n }\n !!eventQueue ? process.env.NODE_ENV !== 'production' ? invariant(false, 'processEventQueue(): Additional events were enqueued while processing an event queue. Support for this has not yet been implemented.') : _prodInvariant('95') : void 0;\n // This would be a good time to rethrow if any of the event handlers threw.\n ReactErrorUtils.rethrowCaughtError();\n },\n\n /**\n * These are needed for tests only. Do not use!\n */\n __purge: function () {\n listenerBank = {};\n },\n\n __getListenerBank: function () {\n return listenerBank;\n }\n};\n\nmodule.exports = EventPluginHub;","/**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n */\n\n'use strict';\n\nvar SyntheticEvent = require('./SyntheticEvent');\n\nvar getEventTarget = require('./getEventTarget');\n\n/**\n * @interface UIEvent\n * @see http://www.w3.org/TR/DOM-Level-3-Events/\n */\nvar UIEventInterface = {\n view: function (event) {\n if (event.view) {\n return event.view;\n }\n\n var target = getEventTarget(event);\n if (target.window === target) {\n // target is a window object\n return target;\n }\n\n var doc = target.ownerDocument;\n // TODO: Figure out why `ownerDocument` is sometimes undefined in IE8.\n if (doc) {\n return doc.defaultView || doc.parentWindow;\n } else {\n return window;\n }\n },\n detail: function (event) {\n return event.detail || 0;\n }\n};\n\n/**\n * @param {object} dispatchConfig Configuration used to dispatch this event.\n * @param {string} dispatchMarker Marker identifying the event target.\n * @param {object} nativeEvent Native browser event.\n * @extends {SyntheticEvent}\n */\nfunction SyntheticUIEvent(dispatchConfig, dispatchMarker, nativeEvent, nativeEventTarget) {\n return SyntheticEvent.call(this, dispatchConfig, dispatchMarker, nativeEvent, nativeEventTarget);\n}\n\nSyntheticEvent.augmentClass(SyntheticUIEvent, UIEventInterface);\n\nmodule.exports = SyntheticUIEvent;","/**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n */\n\n'use strict';\n\n/**\n * `ReactInstanceMap` maintains a mapping from a public facing stateful\n * instance (key) and the internal representation (value). This allows public\n * methods to accept the user facing instance as an argument and map them back\n * to internal methods.\n */\n\n// TODO: Replace this with ES6: var ReactInstanceMap = new Map();\n\nvar ReactInstanceMap = {\n /**\n * This API should be called `delete` but we'd have to make sure to always\n * transform these to strings for IE support. When this transform is fully\n * supported we can rename it.\n */\n remove: function (key) {\n key._reactInternalInstance = undefined;\n },\n\n get: function (key) {\n return key._reactInternalInstance;\n },\n\n has: function (key) {\n return key._reactInternalInstance !== undefined;\n },\n\n set: function (key, value) {\n key._reactInternalInstance = value;\n }\n};\n\nmodule.exports = ReactInstanceMap;","var hasOwnProperty = {}.hasOwnProperty;\nmodule.exports = function (it, key) {\n return hasOwnProperty.call(it, key);\n};\n","// https://github.com/zloirock/core-js/issues/86#issuecomment-115759028\nvar global = module.exports = typeof window != 'undefined' && window.Math == Math\n ? window : typeof self != 'undefined' && self.Math == Math ? self\n // eslint-disable-next-line no-new-func\n : Function('return this')();\nif (typeof __g == 'number') __g = global; // eslint-disable-line no-undef\n","var isObject = require('./_is-object');\nmodule.exports = function (it) {\n if (!isObject(it)) throw TypeError(it + ' is not an object!');\n return it;\n};\n","\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\n\nexports.__esModule = true;\nexports.default = void 0;\n\nvar _inDOM = _interopRequireDefault(require(\"../util/inDOM\"));\n\nvar _default = function () {\n // HTML DOM and SVG DOM may have different support levels,\n // so we need to check on context instead of a document root element.\n return _inDOM.default ? function (context, node) {\n if (context.contains) {\n return context.contains(node);\n } else if (context.compareDocumentPosition) {\n return context === node || !!(context.compareDocumentPosition(node) & 16);\n } else {\n return fallback(context, node);\n }\n } : fallback;\n}();\n\nexports.default = _default;\n\nfunction fallback(context, node) {\n if (node) do {\n if (node === context) return true;\n } while (node = node.parentNode);\n return false;\n}\n\nmodule.exports = exports[\"default\"];","\"use strict\";\n\nexports.__esModule = true;\nexports.default = ownerDocument;\n\nfunction ownerDocument(node) {\n return node && node.ownerDocument || document;\n}\n\nmodule.exports = exports[\"default\"];","module.exports = require(\"core-js/library/fn/object/entries\");","/**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * \n */\n\n'use strict';\n\nvar _prodInvariant = require('./reactProdInvariant');\n\nvar invariant = require('fbjs/lib/invariant');\n\nvar OBSERVED_ERROR = {};\n\n/**\n * `Transaction` creates a black box that is able to wrap any method such that\n * certain invariants are maintained before and after the method is invoked\n * (Even if an exception is thrown while invoking the wrapped method). Whoever\n * instantiates a transaction can provide enforcers of the invariants at\n * creation time. The `Transaction` class itself will supply one additional\n * automatic invariant for you - the invariant that any transaction instance\n * should not be run while it is already being run. You would typically create a\n * single instance of a `Transaction` for reuse multiple times, that potentially\n * is used to wrap several different methods. Wrappers are extremely simple -\n * they only require implementing two methods.\n *\n *
\n *                       wrappers (injected at creation time)\n *                                      +        +\n *                                      |        |\n *                    +-----------------|--------|--------------+\n *                    |                 v        |              |\n *                    |      +---------------+   |              |\n *                    |   +--|    wrapper1   |---|----+         |\n *                    |   |  +---------------+   v    |         |\n *                    |   |          +-------------+  |         |\n *                    |   |     +----|   wrapper2  |--------+   |\n *                    |   |     |    +-------------+  |     |   |\n *                    |   |     |                     |     |   |\n *                    |   v     v                     v     v   | wrapper\n *                    | +---+ +---+   +---------+   +---+ +---+ | invariants\n * perform(anyMethod) | |   | |   |   |         |   |   | |   | | maintained\n * +----------------->|-|---|-|---|-->|anyMethod|---|---|-|---|-|-------->\n *                    | |   | |   |   |         |   |   | |   | |\n *                    | |   | |   |   |         |   |   | |   | |\n *                    | |   | |   |   |         |   |   | |   | |\n *                    | +---+ +---+   +---------+   +---+ +---+ |\n *                    |  initialize                    close    |\n *                    +-----------------------------------------+\n * 
\n *\n * Use cases:\n * - Preserving the input selection ranges before/after reconciliation.\n * Restoring selection even in the event of an unexpected error.\n * - Deactivating events while rearranging the DOM, preventing blurs/focuses,\n * while guaranteeing that afterwards, the event system is reactivated.\n * - Flushing a queue of collected DOM mutations to the main UI thread after a\n * reconciliation takes place in a worker thread.\n * - Invoking any collected `componentDidUpdate` callbacks after rendering new\n * content.\n * - (Future use case): Wrapping particular flushes of the `ReactWorker` queue\n * to preserve the `scrollTop` (an automatic scroll aware DOM).\n * - (Future use case): Layout calculations before and after DOM updates.\n *\n * Transactional plugin API:\n * - A module that has an `initialize` method that returns any precomputation.\n * - and a `close` method that accepts the precomputation. `close` is invoked\n * when the wrapped process is completed, or has failed.\n *\n * @param {Array} transactionWrapper Wrapper modules\n * that implement `initialize` and `close`.\n * @return {Transaction} Single transaction for reuse in thread.\n *\n * @class Transaction\n */\nvar TransactionImpl = {\n /**\n * Sets up this instance so that it is prepared for collecting metrics. Does\n * so such that this setup method may be used on an instance that is already\n * initialized, in a way that does not consume additional memory upon reuse.\n * That can be useful if you decide to make your subclass of this mixin a\n * \"PooledClass\".\n */\n reinitializeTransaction: function () {\n this.transactionWrappers = this.getTransactionWrappers();\n if (this.wrapperInitData) {\n this.wrapperInitData.length = 0;\n } else {\n this.wrapperInitData = [];\n }\n this._isInTransaction = false;\n },\n\n _isInTransaction: false,\n\n /**\n * @abstract\n * @return {Array} Array of transaction wrappers.\n */\n getTransactionWrappers: null,\n\n isInTransaction: function () {\n return !!this._isInTransaction;\n },\n\n /* eslint-disable space-before-function-paren */\n\n /**\n * Executes the function within a safety window. Use this for the top level\n * methods that result in large amounts of computation/mutations that would\n * need to be safety checked. The optional arguments helps prevent the need\n * to bind in many cases.\n *\n * @param {function} method Member of scope to call.\n * @param {Object} scope Scope to invoke from.\n * @param {Object?=} a Argument to pass to the method.\n * @param {Object?=} b Argument to pass to the method.\n * @param {Object?=} c Argument to pass to the method.\n * @param {Object?=} d Argument to pass to the method.\n * @param {Object?=} e Argument to pass to the method.\n * @param {Object?=} f Argument to pass to the method.\n *\n * @return {*} Return value from `method`.\n */\n perform: function (method, scope, a, b, c, d, e, f) {\n /* eslint-enable space-before-function-paren */\n !!this.isInTransaction() ? process.env.NODE_ENV !== 'production' ? invariant(false, 'Transaction.perform(...): Cannot initialize a transaction when there is already an outstanding transaction.') : _prodInvariant('27') : void 0;\n var errorThrown;\n var ret;\n try {\n this._isInTransaction = true;\n // Catching errors makes debugging more difficult, so we start with\n // errorThrown set to true before setting it to false after calling\n // close -- if it's still set to true in the finally block, it means\n // one of these calls threw.\n errorThrown = true;\n this.initializeAll(0);\n ret = method.call(scope, a, b, c, d, e, f);\n errorThrown = false;\n } finally {\n try {\n if (errorThrown) {\n // If `method` throws, prefer to show that stack trace over any thrown\n // by invoking `closeAll`.\n try {\n this.closeAll(0);\n } catch (err) {}\n } else {\n // Since `method` didn't throw, we don't want to silence the exception\n // here.\n this.closeAll(0);\n }\n } finally {\n this._isInTransaction = false;\n }\n }\n return ret;\n },\n\n initializeAll: function (startIndex) {\n var transactionWrappers = this.transactionWrappers;\n for (var i = startIndex; i < transactionWrappers.length; i++) {\n var wrapper = transactionWrappers[i];\n try {\n // Catching errors makes debugging more difficult, so we start with the\n // OBSERVED_ERROR state before overwriting it with the real return value\n // of initialize -- if it's still set to OBSERVED_ERROR in the finally\n // block, it means wrapper.initialize threw.\n this.wrapperInitData[i] = OBSERVED_ERROR;\n this.wrapperInitData[i] = wrapper.initialize ? wrapper.initialize.call(this) : null;\n } finally {\n if (this.wrapperInitData[i] === OBSERVED_ERROR) {\n // The initializer for wrapper i threw an error; initialize the\n // remaining wrappers but silence any exceptions from them to ensure\n // that the first error is the one to bubble up.\n try {\n this.initializeAll(i + 1);\n } catch (err) {}\n }\n }\n }\n },\n\n /**\n * Invokes each of `this.transactionWrappers.close[i]` functions, passing into\n * them the respective return values of `this.transactionWrappers.init[i]`\n * (`close`rs that correspond to initializers that failed will not be\n * invoked).\n */\n closeAll: function (startIndex) {\n !this.isInTransaction() ? process.env.NODE_ENV !== 'production' ? invariant(false, 'Transaction.closeAll(): Cannot close transaction when none are open.') : _prodInvariant('28') : void 0;\n var transactionWrappers = this.transactionWrappers;\n for (var i = startIndex; i < transactionWrappers.length; i++) {\n var wrapper = transactionWrappers[i];\n var initData = this.wrapperInitData[i];\n var errorThrown;\n try {\n // Catching errors makes debugging more difficult, so we start with\n // errorThrown set to true before setting it to false after calling\n // close -- if it's still set to true in the finally block, it means\n // wrapper.close threw.\n errorThrown = true;\n if (initData !== OBSERVED_ERROR && wrapper.close) {\n wrapper.close.call(this, initData);\n }\n errorThrown = false;\n } finally {\n if (errorThrown) {\n // The closer for wrapper i threw an error; close the remaining\n // wrappers but silence any exceptions from them to ensure that the\n // first error is the one to bubble up.\n try {\n this.closeAll(i + 1);\n } catch (e) {}\n }\n }\n }\n this.wrapperInitData.length = 0;\n }\n};\n\nmodule.exports = TransactionImpl;","/**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n */\n\n'use strict';\n\nvar SyntheticUIEvent = require('./SyntheticUIEvent');\nvar ViewportMetrics = require('./ViewportMetrics');\n\nvar getEventModifierState = require('./getEventModifierState');\n\n/**\n * @interface MouseEvent\n * @see http://www.w3.org/TR/DOM-Level-3-Events/\n */\nvar MouseEventInterface = {\n screenX: null,\n screenY: null,\n clientX: null,\n clientY: null,\n ctrlKey: null,\n shiftKey: null,\n altKey: null,\n metaKey: null,\n getModifierState: getEventModifierState,\n button: function (event) {\n // Webkit, Firefox, IE9+\n // which: 1 2 3\n // button: 0 1 2 (standard)\n var button = event.button;\n if ('which' in event) {\n return button;\n }\n // IE<9\n // which: undefined\n // button: 0 0 0\n // button: 1 4 2 (onmouseup)\n return button === 2 ? 2 : button === 4 ? 1 : 0;\n },\n buttons: null,\n relatedTarget: function (event) {\n return event.relatedTarget || (event.fromElement === event.srcElement ? event.toElement : event.fromElement);\n },\n // \"Proprietary\" Interface.\n pageX: function (event) {\n return 'pageX' in event ? event.pageX : event.clientX + ViewportMetrics.currentScrollLeft;\n },\n pageY: function (event) {\n return 'pageY' in event ? event.pageY : event.clientY + ViewportMetrics.currentScrollTop;\n }\n};\n\n/**\n * @param {object} dispatchConfig Configuration used to dispatch this event.\n * @param {string} dispatchMarker Marker identifying the event target.\n * @param {object} nativeEvent Native browser event.\n * @extends {SyntheticUIEvent}\n */\nfunction SyntheticMouseEvent(dispatchConfig, dispatchMarker, nativeEvent, nativeEventTarget) {\n return SyntheticUIEvent.call(this, dispatchConfig, dispatchMarker, nativeEvent, nativeEventTarget);\n}\n\nSyntheticUIEvent.augmentClass(SyntheticMouseEvent, MouseEventInterface);\n\nmodule.exports = SyntheticMouseEvent;","/**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n */\n\n'use strict';\n\nvar ExecutionEnvironment = require('fbjs/lib/ExecutionEnvironment');\nvar DOMNamespaces = require('./DOMNamespaces');\n\nvar WHITESPACE_TEST = /^[ \\r\\n\\t\\f]/;\nvar NONVISIBLE_TEST = /<(!--|link|noscript|meta|script|style)[ \\r\\n\\t\\f\\/>]/;\n\nvar createMicrosoftUnsafeLocalFunction = require('./createMicrosoftUnsafeLocalFunction');\n\n// SVG temp container for IE lacking innerHTML\nvar reusableSVGContainer;\n\n/**\n * Set the innerHTML property of a node, ensuring that whitespace is preserved\n * even in IE8.\n *\n * @param {DOMElement} node\n * @param {string} html\n * @internal\n */\nvar setInnerHTML = createMicrosoftUnsafeLocalFunction(function (node, html) {\n // IE does not have innerHTML for SVG nodes, so instead we inject the\n // new markup in a temp node and then move the child nodes across into\n // the target node\n if (node.namespaceURI === DOMNamespaces.svg && !('innerHTML' in node)) {\n reusableSVGContainer = reusableSVGContainer || document.createElement('div');\n reusableSVGContainer.innerHTML = '' + html + '';\n var svgNode = reusableSVGContainer.firstChild;\n while (svgNode.firstChild) {\n node.appendChild(svgNode.firstChild);\n }\n } else {\n node.innerHTML = html;\n }\n});\n\nif (ExecutionEnvironment.canUseDOM) {\n // IE8: When updating a just created node with innerHTML only leading\n // whitespace is removed. When updating an existing node with innerHTML\n // whitespace in root TextNodes is also collapsed.\n // @see quirksmode.org/bugreports/archives/2004/11/innerhtml_and_t.html\n\n // Feature detection; only IE8 is known to behave improperly like this.\n var testElement = document.createElement('div');\n testElement.innerHTML = ' ';\n if (testElement.innerHTML === '') {\n setInnerHTML = function (node, html) {\n // Magic theory: IE8 supposedly differentiates between added and updated\n // nodes when processing innerHTML, innerHTML on updated nodes suffers\n // from worse whitespace behavior. Re-adding a node like this triggers\n // the initial and more favorable whitespace behavior.\n // TODO: What to do on a detached node?\n if (node.parentNode) {\n node.parentNode.replaceChild(node, node);\n }\n\n // We also implement a workaround for non-visible tags disappearing into\n // thin air on IE8, this only happens if there is no visible text\n // in-front of the non-visible tags. Piggyback on the whitespace fix\n // and simply check if any non-visible tags appear in the source.\n if (WHITESPACE_TEST.test(html) || html[0] === '<' && NONVISIBLE_TEST.test(html)) {\n // Recover leading whitespace by temporarily prepending any character.\n // \\uFEFF has the potential advantage of being zero-width/invisible.\n // UglifyJS drops U+FEFF chars when parsing, so use String.fromCharCode\n // in hopes that this is preserved even if \"\\uFEFF\" is transformed to\n // the actual Unicode character (by Babel, for example).\n // https://github.com/mishoo/UglifyJS2/blob/v2.4.20/lib/parse.js#L216\n node.innerHTML = String.fromCharCode(0xfeff) + html;\n\n // deleteData leaves an empty `TextNode` which offsets the index of all\n // children. Definitely want to avoid this.\n var textNode = node.firstChild;\n if (textNode.data.length === 1) {\n node.removeChild(textNode);\n } else {\n textNode.deleteData(0, 1);\n }\n } else {\n node.innerHTML = html;\n }\n };\n }\n testElement = null;\n}\n\nmodule.exports = setInnerHTML;","/**\n * Copyright (c) 2016-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * Based on the escape-html library, which is used under the MIT License below:\n *\n * Copyright (c) 2012-2013 TJ Holowaychuk\n * Copyright (c) 2015 Andreas Lubbe\n * Copyright (c) 2015 Tiancheng \"Timothy\" Gu\n *\n * Permission is hereby granted, free of charge, to any person obtaining\n * a copy of this software and associated documentation files (the\n * 'Software'), to deal in the Software without restriction, including\n * without limitation the rights to use, copy, modify, merge, publish,\n * distribute, sublicense, and/or sell copies of the Software, and to\n * permit persons to whom the Software is furnished to do so, subject to\n * the following conditions:\n *\n * The above copyright notice and this permission notice shall be\n * included in all copies or substantial portions of the Software.\n *\n * THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND,\n * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\n * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.\n * IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY\n * CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,\n * TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE\n * SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\n *\n */\n\n'use strict';\n\n// code copied and modified from escape-html\n/**\n * Module variables.\n * @private\n */\n\nvar matchHtmlRegExp = /[\"'&<>]/;\n\n/**\n * Escape special characters in the given string of html.\n *\n * @param {string} string The string to escape for inserting into HTML\n * @return {string}\n * @public\n */\n\nfunction escapeHtml(string) {\n var str = '' + string;\n var match = matchHtmlRegExp.exec(str);\n\n if (!match) {\n return str;\n }\n\n var escape;\n var html = '';\n var index = 0;\n var lastIndex = 0;\n\n for (index = match.index; index < str.length; index++) {\n switch (str.charCodeAt(index)) {\n case 34:\n // \"\n escape = '"';\n break;\n case 38:\n // &\n escape = '&';\n break;\n case 39:\n // '\n escape = '''; // modified from escape-html; used to be '''\n break;\n case 60:\n // <\n escape = '<';\n break;\n case 62:\n // >\n escape = '>';\n break;\n default:\n continue;\n }\n\n if (lastIndex !== index) {\n html += str.substring(lastIndex, index);\n }\n\n lastIndex = index + 1;\n html += escape;\n }\n\n return lastIndex !== index ? html + str.substring(lastIndex, index) : html;\n}\n// end code copied and modified from escape-html\n\n/**\n * Escapes text to prevent scripting attacks.\n *\n * @param {*} text Text value to escape.\n * @return {string} An escaped string.\n */\nfunction escapeTextContentForBrowser(text) {\n if (typeof text === 'boolean' || typeof text === 'number') {\n // this shortcircuit helps perf for types that we know will never have\n // special characters, especially given that this function is used often\n // for numeric dom ids.\n return '' + text;\n }\n return escapeHtml(text);\n}\n\nmodule.exports = escapeTextContentForBrowser;","/**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n */\n\n'use strict';\n\nvar _assign = require('object-assign');\n\nvar EventPluginRegistry = require('./EventPluginRegistry');\nvar ReactEventEmitterMixin = require('./ReactEventEmitterMixin');\nvar ViewportMetrics = require('./ViewportMetrics');\n\nvar getVendorPrefixedEventName = require('./getVendorPrefixedEventName');\nvar isEventSupported = require('./isEventSupported');\n\n/**\n * Summary of `ReactBrowserEventEmitter` event handling:\n *\n * - Top-level delegation is used to trap most native browser events. This\n * may only occur in the main thread and is the responsibility of\n * ReactEventListener, which is injected and can therefore support pluggable\n * event sources. This is the only work that occurs in the main thread.\n *\n * - We normalize and de-duplicate events to account for browser quirks. This\n * may be done in the worker thread.\n *\n * - Forward these native events (with the associated top-level type used to\n * trap it) to `EventPluginHub`, which in turn will ask plugins if they want\n * to extract any synthetic events.\n *\n * - The `EventPluginHub` will then process each event by annotating them with\n * \"dispatches\", a sequence of listeners and IDs that care about that event.\n *\n * - The `EventPluginHub` then dispatches the events.\n *\n * Overview of React and the event system:\n *\n * +------------+ .\n * | DOM | .\n * +------------+ .\n * | .\n * v .\n * +------------+ .\n * | ReactEvent | .\n * | Listener | .\n * +------------+ . +-----------+\n * | . +--------+|SimpleEvent|\n * | . | |Plugin |\n * +-----|------+ . v +-----------+\n * | | | . +--------------+ +------------+\n * | +-----------.--->|EventPluginHub| | Event |\n * | | . | | +-----------+ | Propagators|\n * | ReactEvent | . | | |TapEvent | |------------|\n * | Emitter | . | |<---+|Plugin | |other plugin|\n * | | . | | +-----------+ | utilities |\n * | +-----------.--->| | +------------+\n * | | | . +--------------+\n * +-----|------+ . ^ +-----------+\n * | . | |Enter/Leave|\n * + . +-------+|Plugin |\n * +-------------+ . +-----------+\n * | application | .\n * |-------------| .\n * | | .\n * | | .\n * +-------------+ .\n * .\n * React Core . General Purpose Event Plugin System\n */\n\nvar hasEventPageXY;\nvar alreadyListeningTo = {};\nvar isMonitoringScrollValue = false;\nvar reactTopListenersCounter = 0;\n\n// For events like 'submit' which don't consistently bubble (which we trap at a\n// lower node than `document`), binding at `document` would cause duplicate\n// events so we don't include them here\nvar topEventMapping = {\n topAbort: 'abort',\n topAnimationEnd: getVendorPrefixedEventName('animationend') || 'animationend',\n topAnimationIteration: getVendorPrefixedEventName('animationiteration') || 'animationiteration',\n topAnimationStart: getVendorPrefixedEventName('animationstart') || 'animationstart',\n topBlur: 'blur',\n topCanPlay: 'canplay',\n topCanPlayThrough: 'canplaythrough',\n topChange: 'change',\n topClick: 'click',\n topCompositionEnd: 'compositionend',\n topCompositionStart: 'compositionstart',\n topCompositionUpdate: 'compositionupdate',\n topContextMenu: 'contextmenu',\n topCopy: 'copy',\n topCut: 'cut',\n topDoubleClick: 'dblclick',\n topDrag: 'drag',\n topDragEnd: 'dragend',\n topDragEnter: 'dragenter',\n topDragExit: 'dragexit',\n topDragLeave: 'dragleave',\n topDragOver: 'dragover',\n topDragStart: 'dragstart',\n topDrop: 'drop',\n topDurationChange: 'durationchange',\n topEmptied: 'emptied',\n topEncrypted: 'encrypted',\n topEnded: 'ended',\n topError: 'error',\n topFocus: 'focus',\n topInput: 'input',\n topKeyDown: 'keydown',\n topKeyPress: 'keypress',\n topKeyUp: 'keyup',\n topLoadedData: 'loadeddata',\n topLoadedMetadata: 'loadedmetadata',\n topLoadStart: 'loadstart',\n topMouseDown: 'mousedown',\n topMouseMove: 'mousemove',\n topMouseOut: 'mouseout',\n topMouseOver: 'mouseover',\n topMouseUp: 'mouseup',\n topPaste: 'paste',\n topPause: 'pause',\n topPlay: 'play',\n topPlaying: 'playing',\n topProgress: 'progress',\n topRateChange: 'ratechange',\n topScroll: 'scroll',\n topSeeked: 'seeked',\n topSeeking: 'seeking',\n topSelectionChange: 'selectionchange',\n topStalled: 'stalled',\n topSuspend: 'suspend',\n topTextInput: 'textInput',\n topTimeUpdate: 'timeupdate',\n topTouchCancel: 'touchcancel',\n topTouchEnd: 'touchend',\n topTouchMove: 'touchmove',\n topTouchStart: 'touchstart',\n topTransitionEnd: getVendorPrefixedEventName('transitionend') || 'transitionend',\n topVolumeChange: 'volumechange',\n topWaiting: 'waiting',\n topWheel: 'wheel'\n};\n\n/**\n * To ensure no conflicts with other potential React instances on the page\n */\nvar topListenersIDKey = '_reactListenersID' + String(Math.random()).slice(2);\n\nfunction getListeningForDocument(mountAt) {\n // In IE8, `mountAt` is a host object and doesn't have `hasOwnProperty`\n // directly.\n if (!Object.prototype.hasOwnProperty.call(mountAt, topListenersIDKey)) {\n mountAt[topListenersIDKey] = reactTopListenersCounter++;\n alreadyListeningTo[mountAt[topListenersIDKey]] = {};\n }\n return alreadyListeningTo[mountAt[topListenersIDKey]];\n}\n\n/**\n * `ReactBrowserEventEmitter` is used to attach top-level event listeners. For\n * example:\n *\n * EventPluginHub.putListener('myID', 'onClick', myFunction);\n *\n * This would allocate a \"registration\" of `('onClick', myFunction)` on 'myID'.\n *\n * @internal\n */\nvar ReactBrowserEventEmitter = _assign({}, ReactEventEmitterMixin, {\n /**\n * Injectable event backend\n */\n ReactEventListener: null,\n\n injection: {\n /**\n * @param {object} ReactEventListener\n */\n injectReactEventListener: function (ReactEventListener) {\n ReactEventListener.setHandleTopLevel(ReactBrowserEventEmitter.handleTopLevel);\n ReactBrowserEventEmitter.ReactEventListener = ReactEventListener;\n }\n },\n\n /**\n * Sets whether or not any created callbacks should be enabled.\n *\n * @param {boolean} enabled True if callbacks should be enabled.\n */\n setEnabled: function (enabled) {\n if (ReactBrowserEventEmitter.ReactEventListener) {\n ReactBrowserEventEmitter.ReactEventListener.setEnabled(enabled);\n }\n },\n\n /**\n * @return {boolean} True if callbacks are enabled.\n */\n isEnabled: function () {\n return !!(ReactBrowserEventEmitter.ReactEventListener && ReactBrowserEventEmitter.ReactEventListener.isEnabled());\n },\n\n /**\n * We listen for bubbled touch events on the document object.\n *\n * Firefox v8.01 (and possibly others) exhibited strange behavior when\n * mounting `onmousemove` events at some node that was not the document\n * element. The symptoms were that if your mouse is not moving over something\n * contained within that mount point (for example on the background) the\n * top-level listeners for `onmousemove` won't be called. However, if you\n * register the `mousemove` on the document object, then it will of course\n * catch all `mousemove`s. This along with iOS quirks, justifies restricting\n * top-level listeners to the document object only, at least for these\n * movement types of events and possibly all events.\n *\n * @see http://www.quirksmode.org/blog/archives/2010/09/click_event_del.html\n *\n * Also, `keyup`/`keypress`/`keydown` do not bubble to the window on IE, but\n * they bubble to document.\n *\n * @param {string} registrationName Name of listener (e.g. `onClick`).\n * @param {object} contentDocumentHandle Document which owns the container\n */\n listenTo: function (registrationName, contentDocumentHandle) {\n var mountAt = contentDocumentHandle;\n var isListening = getListeningForDocument(mountAt);\n var dependencies = EventPluginRegistry.registrationNameDependencies[registrationName];\n\n for (var i = 0; i < dependencies.length; i++) {\n var dependency = dependencies[i];\n if (!(isListening.hasOwnProperty(dependency) && isListening[dependency])) {\n if (dependency === 'topWheel') {\n if (isEventSupported('wheel')) {\n ReactBrowserEventEmitter.ReactEventListener.trapBubbledEvent('topWheel', 'wheel', mountAt);\n } else if (isEventSupported('mousewheel')) {\n ReactBrowserEventEmitter.ReactEventListener.trapBubbledEvent('topWheel', 'mousewheel', mountAt);\n } else {\n // Firefox needs to capture a different mouse scroll event.\n // @see http://www.quirksmode.org/dom/events/tests/scroll.html\n ReactBrowserEventEmitter.ReactEventListener.trapBubbledEvent('topWheel', 'DOMMouseScroll', mountAt);\n }\n } else if (dependency === 'topScroll') {\n if (isEventSupported('scroll', true)) {\n ReactBrowserEventEmitter.ReactEventListener.trapCapturedEvent('topScroll', 'scroll', mountAt);\n } else {\n ReactBrowserEventEmitter.ReactEventListener.trapBubbledEvent('topScroll', 'scroll', ReactBrowserEventEmitter.ReactEventListener.WINDOW_HANDLE);\n }\n } else if (dependency === 'topFocus' || dependency === 'topBlur') {\n if (isEventSupported('focus', true)) {\n ReactBrowserEventEmitter.ReactEventListener.trapCapturedEvent('topFocus', 'focus', mountAt);\n ReactBrowserEventEmitter.ReactEventListener.trapCapturedEvent('topBlur', 'blur', mountAt);\n } else if (isEventSupported('focusin')) {\n // IE has `focusin` and `focusout` events which bubble.\n // @see http://www.quirksmode.org/blog/archives/2008/04/delegating_the.html\n ReactBrowserEventEmitter.ReactEventListener.trapBubbledEvent('topFocus', 'focusin', mountAt);\n ReactBrowserEventEmitter.ReactEventListener.trapBubbledEvent('topBlur', 'focusout', mountAt);\n }\n\n // to make sure blur and focus event listeners are only attached once\n isListening.topBlur = true;\n isListening.topFocus = true;\n } else if (topEventMapping.hasOwnProperty(dependency)) {\n ReactBrowserEventEmitter.ReactEventListener.trapBubbledEvent(dependency, topEventMapping[dependency], mountAt);\n }\n\n isListening[dependency] = true;\n }\n }\n },\n\n trapBubbledEvent: function (topLevelType, handlerBaseName, handle) {\n return ReactBrowserEventEmitter.ReactEventListener.trapBubbledEvent(topLevelType, handlerBaseName, handle);\n },\n\n trapCapturedEvent: function (topLevelType, handlerBaseName, handle) {\n return ReactBrowserEventEmitter.ReactEventListener.trapCapturedEvent(topLevelType, handlerBaseName, handle);\n },\n\n /**\n * Protect against document.createEvent() returning null\n * Some popup blocker extensions appear to do this:\n * https://github.com/facebook/react/issues/6887\n */\n supportsEventPageXY: function () {\n if (!document.createEvent) {\n return false;\n }\n var ev = document.createEvent('MouseEvent');\n return ev != null && 'pageX' in ev;\n },\n\n /**\n * Listens to window scroll and resize events. We cache scroll values so that\n * application code can access them without triggering reflows.\n *\n * ViewportMetrics is only used by SyntheticMouse/TouchEvent and only when\n * pageX/pageY isn't supported (legacy browsers).\n *\n * NOTE: Scroll events do not bubble.\n *\n * @see http://www.quirksmode.org/dom/events/scroll.html\n */\n ensureScrollValueMonitoring: function () {\n if (hasEventPageXY === undefined) {\n hasEventPageXY = ReactBrowserEventEmitter.supportsEventPageXY();\n }\n if (!hasEventPageXY && !isMonitoringScrollValue) {\n var refresh = ViewportMetrics.refreshScrollValues;\n ReactBrowserEventEmitter.ReactEventListener.monitorScrollValue(refresh);\n isMonitoringScrollValue = true;\n }\n }\n});\n\nmodule.exports = ReactBrowserEventEmitter;","// 7.1.13 ToObject(argument)\nvar defined = require('./_defined');\nmodule.exports = function (it) {\n return Object(defined(it));\n};\n","// 19.1.2.14 / 15.2.3.14 Object.keys(O)\nvar $keys = require('./_object-keys-internal');\nvar enumBugKeys = require('./_enum-bug-keys');\n\nmodule.exports = Object.keys || function keys(O) {\n return $keys(O, enumBugKeys);\n};\n","// to indexed object, toObject with fallback for non-array-like ES3 strings\nvar IObject = require('./_iobject');\nvar defined = require('./_defined');\nmodule.exports = function (it) {\n return IObject(defined(it));\n};\n","var dP = require('./_object-dp');\nvar createDesc = require('./_property-desc');\nmodule.exports = require('./_descriptors') ? function (object, key, value) {\n return dP.f(object, key, createDesc(1, value));\n} : function (object, key, value) {\n object[key] = value;\n return object;\n};\n","var anObject = require('./_an-object');\nvar IE8_DOM_DEFINE = require('./_ie8-dom-define');\nvar toPrimitive = require('./_to-primitive');\nvar dP = Object.defineProperty;\n\nexports.f = require('./_descriptors') ? Object.defineProperty : function defineProperty(O, P, Attributes) {\n anObject(O);\n P = toPrimitive(P, true);\n anObject(Attributes);\n if (IE8_DOM_DEFINE) try {\n return dP(O, P, Attributes);\n } catch (e) { /* empty */ }\n if ('get' in Attributes || 'set' in Attributes) throw TypeError('Accessors not supported!');\n if ('value' in Attributes) O[P] = Attributes.value;\n return O;\n};\n","module.exports = function (it) {\n return typeof it === 'object' ? it !== null : typeof it === 'function';\n};\n","module.exports = function (exec) {\n try {\n return !!exec();\n } catch (e) {\n return true;\n }\n};\n","module.exports = function (bitmap, value) {\n return {\n enumerable: !(bitmap & 1),\n configurable: !(bitmap & 2),\n writable: !(bitmap & 4),\n value: value\n };\n};\n","'use strict';\n\nexports.__esModule = true;\n\nexports.default = function (componentOrElement) {\n return (0, _ownerDocument2.default)(_reactDom2.default.findDOMNode(componentOrElement));\n};\n\nvar _reactDom = require('react-dom');\n\nvar _reactDom2 = _interopRequireDefault(_reactDom);\n\nvar _ownerDocument = require('dom-helpers/ownerDocument');\n\nvar _ownerDocument2 = _interopRequireDefault(_ownerDocument);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nmodule.exports = exports['default'];","/**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n'use strict';\n\n/**\n * Use invariant() to assert state which your program assumes to be true.\n *\n * Provide sprintf-style format (only %s is supported) and arguments\n * to provide information about what broke and what you were\n * expecting.\n *\n * The invariant message will be stripped in production, but the invariant\n * will remain to ensure logic does not differ in production.\n */\n\nvar invariant = function(condition, format, a, b, c, d, e, f) {\n if (process.env.NODE_ENV !== 'production') {\n if (format === undefined) {\n throw new Error('invariant requires an error message argument');\n }\n }\n\n if (!condition) {\n var error;\n if (format === undefined) {\n error = new Error(\n 'Minified exception occurred; use the non-minified dev environment ' +\n 'for the full error message and additional helpful warnings.'\n );\n } else {\n var args = [a, b, c, d, e, f];\n var argIndex = 0;\n error = new Error(\n format.replace(/%s/g, function() { return args[argIndex++]; })\n );\n error.name = 'Invariant Violation';\n }\n\n error.framesToPop = 1; // we don't care about invariant's own frame\n throw error;\n }\n};\n\nmodule.exports = invariant;\n","\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\n\nexports.__esModule = true;\nexports.default = scrollbarSize;\n\nvar _inDOM = _interopRequireDefault(require(\"./inDOM\"));\n\nvar size;\n\nfunction scrollbarSize(recalc) {\n if (!size && size !== 0 || recalc) {\n if (_inDOM.default) {\n var scrollDiv = document.createElement('div');\n scrollDiv.style.position = 'absolute';\n scrollDiv.style.top = '-9999px';\n scrollDiv.style.width = '50px';\n scrollDiv.style.height = '50px';\n scrollDiv.style.overflow = 'scroll';\n document.body.appendChild(scrollDiv);\n size = scrollDiv.offsetWidth - scrollDiv.clientWidth;\n document.body.removeChild(scrollDiv);\n }\n }\n\n return size;\n}\n\nmodule.exports = exports[\"default\"];","\"use strict\";\n\nexports.__esModule = true;\nexports.default = exports.EXITING = exports.ENTERED = exports.ENTERING = exports.EXITED = exports.UNMOUNTED = void 0;\n\nvar PropTypes = _interopRequireWildcard(require(\"prop-types\"));\n\nvar _react = _interopRequireDefault(require(\"react\"));\n\nvar _reactDom = _interopRequireDefault(require(\"react-dom\"));\n\nvar _reactLifecyclesCompat = require(\"react-lifecycles-compat\");\n\nvar _PropTypes = require(\"./utils/PropTypes\");\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) { var desc = Object.defineProperty && Object.getOwnPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : {}; if (desc.get || desc.set) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } } newObj.default = obj; return newObj; } }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nfunction _inheritsLoose(subClass, superClass) { subClass.prototype = Object.create(superClass.prototype); subClass.prototype.constructor = subClass; subClass.__proto__ = superClass; }\n\nvar UNMOUNTED = 'unmounted';\nexports.UNMOUNTED = UNMOUNTED;\nvar EXITED = 'exited';\nexports.EXITED = EXITED;\nvar ENTERING = 'entering';\nexports.ENTERING = ENTERING;\nvar ENTERED = 'entered';\nexports.ENTERED = ENTERED;\nvar EXITING = 'exiting';\n/**\n * The Transition component lets you describe a transition from one component\n * state to another _over time_ with a simple declarative API. Most commonly\n * it's used to animate the mounting and unmounting of a component, but can also\n * be used to describe in-place transition states as well.\n *\n * ---\n *\n * **Note**: `Transition` is a platform-agnostic base component. If you're using\n * transitions in CSS, you'll probably want to use\n * [`CSSTransition`](https://reactcommunity.org/react-transition-group/css-transition)\n * instead. It inherits all the features of `Transition`, but contains\n * additional features necessary to play nice with CSS transitions (hence the\n * name of the component).\n *\n * ---\n *\n * By default the `Transition` component does not alter the behavior of the\n * component it renders, it only tracks \"enter\" and \"exit\" states for the\n * components. It's up to you to give meaning and effect to those states. For\n * example we can add styles to a component when it enters or exits:\n *\n * ```jsx\n * import { Transition } from 'react-transition-group';\n *\n * const duration = 300;\n *\n * const defaultStyle = {\n * transition: `opacity ${duration}ms ease-in-out`,\n * opacity: 0,\n * }\n *\n * const transitionStyles = {\n * entering: { opacity: 0 },\n * entered: { opacity: 1 },\n * };\n *\n * const Fade = ({ in: inProp }) => (\n * \n * {state => (\n *
\n * I'm a fade Transition!\n *
\n * )}\n *
\n * );\n * ```\n *\n * There are 4 main states a Transition can be in:\n * - `'entering'`\n * - `'entered'`\n * - `'exiting'`\n * - `'exited'`\n *\n * Transition state is toggled via the `in` prop. When `true` the component\n * begins the \"Enter\" stage. During this stage, the component will shift from\n * its current transition state, to `'entering'` for the duration of the\n * transition and then to the `'entered'` stage once it's complete. Let's take\n * the following example (we'll use the\n * [useState](https://reactjs.org/docs/hooks-reference.html#usestate) hook):\n *\n * ```jsx\n * function App() {\n * const [inProp, setInProp] = useState(false);\n * return (\n *
\n * \n * {state => (\n * // ...\n * )}\n * \n * \n *
\n * );\n * }\n * ```\n *\n * When the button is clicked the component will shift to the `'entering'` state\n * and stay there for 500ms (the value of `timeout`) before it finally switches\n * to `'entered'`.\n *\n * When `in` is `false` the same thing happens except the state moves from\n * `'exiting'` to `'exited'`.\n */\n\nexports.EXITING = EXITING;\n\nvar Transition =\n/*#__PURE__*/\nfunction (_React$Component) {\n _inheritsLoose(Transition, _React$Component);\n\n function Transition(props, context) {\n var _this;\n\n _this = _React$Component.call(this, props, context) || this;\n var parentGroup = context.transitionGroup; // In the context of a TransitionGroup all enters are really appears\n\n var appear = parentGroup && !parentGroup.isMounting ? props.enter : props.appear;\n var initialStatus;\n _this.appearStatus = null;\n\n if (props.in) {\n if (appear) {\n initialStatus = EXITED;\n _this.appearStatus = ENTERING;\n } else {\n initialStatus = ENTERED;\n }\n } else {\n if (props.unmountOnExit || props.mountOnEnter) {\n initialStatus = UNMOUNTED;\n } else {\n initialStatus = EXITED;\n }\n }\n\n _this.state = {\n status: initialStatus\n };\n _this.nextCallback = null;\n return _this;\n }\n\n var _proto = Transition.prototype;\n\n _proto.getChildContext = function getChildContext() {\n return {\n transitionGroup: null // allows for nested Transitions\n\n };\n };\n\n Transition.getDerivedStateFromProps = function getDerivedStateFromProps(_ref, prevState) {\n var nextIn = _ref.in;\n\n if (nextIn && prevState.status === UNMOUNTED) {\n return {\n status: EXITED\n };\n }\n\n return null;\n }; // getSnapshotBeforeUpdate(prevProps) {\n // let nextStatus = null\n // if (prevProps !== this.props) {\n // const { status } = this.state\n // if (this.props.in) {\n // if (status !== ENTERING && status !== ENTERED) {\n // nextStatus = ENTERING\n // }\n // } else {\n // if (status === ENTERING || status === ENTERED) {\n // nextStatus = EXITING\n // }\n // }\n // }\n // return { nextStatus }\n // }\n\n\n _proto.componentDidMount = function componentDidMount() {\n this.updateStatus(true, this.appearStatus);\n };\n\n _proto.componentDidUpdate = function componentDidUpdate(prevProps) {\n var nextStatus = null;\n\n if (prevProps !== this.props) {\n var status = this.state.status;\n\n if (this.props.in) {\n if (status !== ENTERING && status !== ENTERED) {\n nextStatus = ENTERING;\n }\n } else {\n if (status === ENTERING || status === ENTERED) {\n nextStatus = EXITING;\n }\n }\n }\n\n this.updateStatus(false, nextStatus);\n };\n\n _proto.componentWillUnmount = function componentWillUnmount() {\n this.cancelNextCallback();\n };\n\n _proto.getTimeouts = function getTimeouts() {\n var timeout = this.props.timeout;\n var exit, enter, appear;\n exit = enter = appear = timeout;\n\n if (timeout != null && typeof timeout !== 'number') {\n exit = timeout.exit;\n enter = timeout.enter; // TODO: remove fallback for next major\n\n appear = timeout.appear !== undefined ? timeout.appear : enter;\n }\n\n return {\n exit: exit,\n enter: enter,\n appear: appear\n };\n };\n\n _proto.updateStatus = function updateStatus(mounting, nextStatus) {\n if (mounting === void 0) {\n mounting = false;\n }\n\n if (nextStatus !== null) {\n // nextStatus will always be ENTERING or EXITING.\n this.cancelNextCallback();\n\n var node = _reactDom.default.findDOMNode(this);\n\n if (nextStatus === ENTERING) {\n this.performEnter(node, mounting);\n } else {\n this.performExit(node);\n }\n } else if (this.props.unmountOnExit && this.state.status === EXITED) {\n this.setState({\n status: UNMOUNTED\n });\n }\n };\n\n _proto.performEnter = function performEnter(node, mounting) {\n var _this2 = this;\n\n var enter = this.props.enter;\n var appearing = this.context.transitionGroup ? this.context.transitionGroup.isMounting : mounting;\n var timeouts = this.getTimeouts();\n var enterTimeout = appearing ? timeouts.appear : timeouts.enter; // no enter animation skip right to ENTERED\n // if we are mounting and running this it means appear _must_ be set\n\n if (!mounting && !enter) {\n this.safeSetState({\n status: ENTERED\n }, function () {\n _this2.props.onEntered(node);\n });\n return;\n }\n\n this.props.onEnter(node, appearing);\n this.safeSetState({\n status: ENTERING\n }, function () {\n _this2.props.onEntering(node, appearing);\n\n _this2.onTransitionEnd(node, enterTimeout, function () {\n _this2.safeSetState({\n status: ENTERED\n }, function () {\n _this2.props.onEntered(node, appearing);\n });\n });\n });\n };\n\n _proto.performExit = function performExit(node) {\n var _this3 = this;\n\n var exit = this.props.exit;\n var timeouts = this.getTimeouts(); // no exit animation skip right to EXITED\n\n if (!exit) {\n this.safeSetState({\n status: EXITED\n }, function () {\n _this3.props.onExited(node);\n });\n return;\n }\n\n this.props.onExit(node);\n this.safeSetState({\n status: EXITING\n }, function () {\n _this3.props.onExiting(node);\n\n _this3.onTransitionEnd(node, timeouts.exit, function () {\n _this3.safeSetState({\n status: EXITED\n }, function () {\n _this3.props.onExited(node);\n });\n });\n });\n };\n\n _proto.cancelNextCallback = function cancelNextCallback() {\n if (this.nextCallback !== null) {\n this.nextCallback.cancel();\n this.nextCallback = null;\n }\n };\n\n _proto.safeSetState = function safeSetState(nextState, callback) {\n // This shouldn't be necessary, but there are weird race conditions with\n // setState callbacks and unmounting in testing, so always make sure that\n // we can cancel any pending setState callbacks after we unmount.\n callback = this.setNextCallback(callback);\n this.setState(nextState, callback);\n };\n\n _proto.setNextCallback = function setNextCallback(callback) {\n var _this4 = this;\n\n var active = true;\n\n this.nextCallback = function (event) {\n if (active) {\n active = false;\n _this4.nextCallback = null;\n callback(event);\n }\n };\n\n this.nextCallback.cancel = function () {\n active = false;\n };\n\n return this.nextCallback;\n };\n\n _proto.onTransitionEnd = function onTransitionEnd(node, timeout, handler) {\n this.setNextCallback(handler);\n var doesNotHaveTimeoutOrListener = timeout == null && !this.props.addEndListener;\n\n if (!node || doesNotHaveTimeoutOrListener) {\n setTimeout(this.nextCallback, 0);\n return;\n }\n\n if (this.props.addEndListener) {\n this.props.addEndListener(node, this.nextCallback);\n }\n\n if (timeout != null) {\n setTimeout(this.nextCallback, timeout);\n }\n };\n\n _proto.render = function render() {\n var status = this.state.status;\n\n if (status === UNMOUNTED) {\n return null;\n }\n\n var _this$props = this.props,\n children = _this$props.children,\n childProps = _objectWithoutPropertiesLoose(_this$props, [\"children\"]); // filter props for Transtition\n\n\n delete childProps.in;\n delete childProps.mountOnEnter;\n delete childProps.unmountOnExit;\n delete childProps.appear;\n delete childProps.enter;\n delete childProps.exit;\n delete childProps.timeout;\n delete childProps.addEndListener;\n delete childProps.onEnter;\n delete childProps.onEntering;\n delete childProps.onEntered;\n delete childProps.onExit;\n delete childProps.onExiting;\n delete childProps.onExited;\n\n if (typeof children === 'function') {\n return children(status, childProps);\n }\n\n var child = _react.default.Children.only(children);\n\n return _react.default.cloneElement(child, childProps);\n };\n\n return Transition;\n}(_react.default.Component);\n\nTransition.contextTypes = {\n transitionGroup: PropTypes.object\n};\nTransition.childContextTypes = {\n transitionGroup: function transitionGroup() {}\n};\nTransition.propTypes = process.env.NODE_ENV !== \"production\" ? {\n /**\n * A `function` child can be used instead of a React element. This function is\n * called with the current transition status (`'entering'`, `'entered'`,\n * `'exiting'`, `'exited'`, `'unmounted'`), which can be used to apply context\n * specific props to a component.\n *\n * ```jsx\n * \n * {state => (\n * \n * )}\n * \n * ```\n */\n children: PropTypes.oneOfType([PropTypes.func.isRequired, PropTypes.element.isRequired]).isRequired,\n\n /**\n * Show the component; triggers the enter or exit states\n */\n in: PropTypes.bool,\n\n /**\n * By default the child component is mounted immediately along with\n * the parent `Transition` component. If you want to \"lazy mount\" the component on the\n * first `in={true}` you can set `mountOnEnter`. After the first enter transition the component will stay\n * mounted, even on \"exited\", unless you also specify `unmountOnExit`.\n */\n mountOnEnter: PropTypes.bool,\n\n /**\n * By default the child component stays mounted after it reaches the `'exited'` state.\n * Set `unmountOnExit` if you'd prefer to unmount the component after it finishes exiting.\n */\n unmountOnExit: PropTypes.bool,\n\n /**\n * Normally a component is not transitioned if it is shown when the `` component mounts.\n * If you want to transition on the first mount set `appear` to `true`, and the\n * component will transition in as soon as the `` mounts.\n *\n * > Note: there are no specific \"appear\" states. `appear` only adds an additional `enter` transition.\n */\n appear: PropTypes.bool,\n\n /**\n * Enable or disable enter transitions.\n */\n enter: PropTypes.bool,\n\n /**\n * Enable or disable exit transitions.\n */\n exit: PropTypes.bool,\n\n /**\n * The duration of the transition, in milliseconds.\n * Required unless `addEndListener` is provided.\n *\n * You may specify a single timeout for all transitions:\n *\n * ```jsx\n * timeout={500}\n * ```\n *\n * or individually:\n *\n * ```jsx\n * timeout={{\n * appear: 500,\n * enter: 300,\n * exit: 500,\n * }}\n * ```\n *\n * - `appear` defaults to the value of `enter`\n * - `enter` defaults to `0`\n * - `exit` defaults to `0`\n *\n * @type {number | { enter?: number, exit?: number, appear?: number }}\n */\n timeout: function timeout(props) {\n var pt = _PropTypes.timeoutsShape;\n if (!props.addEndListener) pt = pt.isRequired;\n\n for (var _len = arguments.length, args = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {\n args[_key - 1] = arguments[_key];\n }\n\n return pt.apply(void 0, [props].concat(args));\n },\n\n /**\n * Add a custom transition end trigger. Called with the transitioning\n * DOM node and a `done` callback. Allows for more fine grained transition end\n * logic. **Note:** Timeouts are still used as a fallback if provided.\n *\n * ```jsx\n * addEndListener={(node, done) => {\n * // use the css transitionend event to mark the finish of a transition\n * node.addEventListener('transitionend', done, false);\n * }}\n * ```\n */\n addEndListener: PropTypes.func,\n\n /**\n * Callback fired before the \"entering\" status is applied. An extra parameter\n * `isAppearing` is supplied to indicate if the enter stage is occurring on the initial mount\n *\n * @type Function(node: HtmlElement, isAppearing: bool) -> void\n */\n onEnter: PropTypes.func,\n\n /**\n * Callback fired after the \"entering\" status is applied. An extra parameter\n * `isAppearing` is supplied to indicate if the enter stage is occurring on the initial mount\n *\n * @type Function(node: HtmlElement, isAppearing: bool)\n */\n onEntering: PropTypes.func,\n\n /**\n * Callback fired after the \"entered\" status is applied. An extra parameter\n * `isAppearing` is supplied to indicate if the enter stage is occurring on the initial mount\n *\n * @type Function(node: HtmlElement, isAppearing: bool) -> void\n */\n onEntered: PropTypes.func,\n\n /**\n * Callback fired before the \"exiting\" status is applied.\n *\n * @type Function(node: HtmlElement) -> void\n */\n onExit: PropTypes.func,\n\n /**\n * Callback fired after the \"exiting\" status is applied.\n *\n * @type Function(node: HtmlElement) -> void\n */\n onExiting: PropTypes.func,\n\n /**\n * Callback fired after the \"exited\" status is applied.\n *\n * @type Function(node: HtmlElement) -> void\n */\n onExited: PropTypes.func // Name the function so it is clearer in the documentation\n\n} : {};\n\nfunction noop() {}\n\nTransition.defaultProps = {\n in: false,\n mountOnEnter: false,\n unmountOnExit: false,\n appear: false,\n enter: true,\n exit: true,\n onEnter: noop,\n onEntering: noop,\n onEntered: noop,\n onExit: noop,\n onExiting: noop,\n onExited: noop\n};\nTransition.UNMOUNTED = 0;\nTransition.EXITED = 1;\nTransition.ENTERING = 2;\nTransition.ENTERED = 3;\nTransition.EXITING = 4;\n\nvar _default = (0, _reactLifecyclesCompat.polyfill)(Transition);\n\nexports.default = _default;","/**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n */\n\n'use strict';\n\nvar emptyObject = {};\n\nif (process.env.NODE_ENV !== 'production') {\n Object.freeze(emptyObject);\n}\n\nmodule.exports = emptyObject;","/**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * \n */\n\n'use strict';\n\nvar _prodInvariant = require('./reactProdInvariant');\n\nvar invariant = require('fbjs/lib/invariant');\n\n/**\n * Injectable ordering of event plugins.\n */\nvar eventPluginOrder = null;\n\n/**\n * Injectable mapping from names to event plugin modules.\n */\nvar namesToPlugins = {};\n\n/**\n * Recomputes the plugin list using the injected plugins and plugin ordering.\n *\n * @private\n */\nfunction recomputePluginOrdering() {\n if (!eventPluginOrder) {\n // Wait until an `eventPluginOrder` is injected.\n return;\n }\n for (var pluginName in namesToPlugins) {\n var pluginModule = namesToPlugins[pluginName];\n var pluginIndex = eventPluginOrder.indexOf(pluginName);\n !(pluginIndex > -1) ? process.env.NODE_ENV !== 'production' ? invariant(false, 'EventPluginRegistry: Cannot inject event plugins that do not exist in the plugin ordering, `%s`.', pluginName) : _prodInvariant('96', pluginName) : void 0;\n if (EventPluginRegistry.plugins[pluginIndex]) {\n continue;\n }\n !pluginModule.extractEvents ? process.env.NODE_ENV !== 'production' ? invariant(false, 'EventPluginRegistry: Event plugins must implement an `extractEvents` method, but `%s` does not.', pluginName) : _prodInvariant('97', pluginName) : void 0;\n EventPluginRegistry.plugins[pluginIndex] = pluginModule;\n var publishedEvents = pluginModule.eventTypes;\n for (var eventName in publishedEvents) {\n !publishEventForPlugin(publishedEvents[eventName], pluginModule, eventName) ? process.env.NODE_ENV !== 'production' ? invariant(false, 'EventPluginRegistry: Failed to publish event `%s` for plugin `%s`.', eventName, pluginName) : _prodInvariant('98', eventName, pluginName) : void 0;\n }\n }\n}\n\n/**\n * Publishes an event so that it can be dispatched by the supplied plugin.\n *\n * @param {object} dispatchConfig Dispatch configuration for the event.\n * @param {object} PluginModule Plugin publishing the event.\n * @return {boolean} True if the event was successfully published.\n * @private\n */\nfunction publishEventForPlugin(dispatchConfig, pluginModule, eventName) {\n !!EventPluginRegistry.eventNameDispatchConfigs.hasOwnProperty(eventName) ? process.env.NODE_ENV !== 'production' ? invariant(false, 'EventPluginHub: More than one plugin attempted to publish the same event name, `%s`.', eventName) : _prodInvariant('99', eventName) : void 0;\n EventPluginRegistry.eventNameDispatchConfigs[eventName] = dispatchConfig;\n\n var phasedRegistrationNames = dispatchConfig.phasedRegistrationNames;\n if (phasedRegistrationNames) {\n for (var phaseName in phasedRegistrationNames) {\n if (phasedRegistrationNames.hasOwnProperty(phaseName)) {\n var phasedRegistrationName = phasedRegistrationNames[phaseName];\n publishRegistrationName(phasedRegistrationName, pluginModule, eventName);\n }\n }\n return true;\n } else if (dispatchConfig.registrationName) {\n publishRegistrationName(dispatchConfig.registrationName, pluginModule, eventName);\n return true;\n }\n return false;\n}\n\n/**\n * Publishes a registration name that is used to identify dispatched events and\n * can be used with `EventPluginHub.putListener` to register listeners.\n *\n * @param {string} registrationName Registration name to add.\n * @param {object} PluginModule Plugin publishing the event.\n * @private\n */\nfunction publishRegistrationName(registrationName, pluginModule, eventName) {\n !!EventPluginRegistry.registrationNameModules[registrationName] ? process.env.NODE_ENV !== 'production' ? invariant(false, 'EventPluginHub: More than one plugin attempted to publish the same registration name, `%s`.', registrationName) : _prodInvariant('100', registrationName) : void 0;\n EventPluginRegistry.registrationNameModules[registrationName] = pluginModule;\n EventPluginRegistry.registrationNameDependencies[registrationName] = pluginModule.eventTypes[eventName].dependencies;\n\n if (process.env.NODE_ENV !== 'production') {\n var lowerCasedName = registrationName.toLowerCase();\n EventPluginRegistry.possibleRegistrationNames[lowerCasedName] = registrationName;\n\n if (registrationName === 'onDoubleClick') {\n EventPluginRegistry.possibleRegistrationNames.ondblclick = registrationName;\n }\n }\n}\n\n/**\n * Registers plugins so that they can extract and dispatch events.\n *\n * @see {EventPluginHub}\n */\nvar EventPluginRegistry = {\n /**\n * Ordered list of injected plugins.\n */\n plugins: [],\n\n /**\n * Mapping from event name to dispatch config\n */\n eventNameDispatchConfigs: {},\n\n /**\n * Mapping from registration name to plugin module\n */\n registrationNameModules: {},\n\n /**\n * Mapping from registration name to event name\n */\n registrationNameDependencies: {},\n\n /**\n * Mapping from lowercase registration names to the properly cased version,\n * used to warn in the case of missing event handlers. Available\n * only in __DEV__.\n * @type {Object}\n */\n possibleRegistrationNames: process.env.NODE_ENV !== 'production' ? {} : null,\n // Trust the developer to only use possibleRegistrationNames in __DEV__\n\n /**\n * Injects an ordering of plugins (by plugin name). This allows the ordering\n * to be decoupled from injection of the actual plugins so that ordering is\n * always deterministic regardless of packaging, on-the-fly injection, etc.\n *\n * @param {array} InjectedEventPluginOrder\n * @internal\n * @see {EventPluginHub.injection.injectEventPluginOrder}\n */\n injectEventPluginOrder: function (injectedEventPluginOrder) {\n !!eventPluginOrder ? process.env.NODE_ENV !== 'production' ? invariant(false, 'EventPluginRegistry: Cannot inject event plugin ordering more than once. You are likely trying to load more than one copy of React.') : _prodInvariant('101') : void 0;\n // Clone the ordering so it cannot be dynamically mutated.\n eventPluginOrder = Array.prototype.slice.call(injectedEventPluginOrder);\n recomputePluginOrdering();\n },\n\n /**\n * Injects plugins to be used by `EventPluginHub`. The plugin names must be\n * in the ordering injected by `injectEventPluginOrder`.\n *\n * Plugins can be injected as part of page initialization or on-the-fly.\n *\n * @param {object} injectedNamesToPlugins Map from names to plugin modules.\n * @internal\n * @see {EventPluginHub.injection.injectEventPluginsByName}\n */\n injectEventPluginsByName: function (injectedNamesToPlugins) {\n var isOrderingDirty = false;\n for (var pluginName in injectedNamesToPlugins) {\n if (!injectedNamesToPlugins.hasOwnProperty(pluginName)) {\n continue;\n }\n var pluginModule = injectedNamesToPlugins[pluginName];\n if (!namesToPlugins.hasOwnProperty(pluginName) || namesToPlugins[pluginName] !== pluginModule) {\n !!namesToPlugins[pluginName] ? process.env.NODE_ENV !== 'production' ? invariant(false, 'EventPluginRegistry: Cannot inject two different event plugins using the same name, `%s`.', pluginName) : _prodInvariant('102', pluginName) : void 0;\n namesToPlugins[pluginName] = pluginModule;\n isOrderingDirty = true;\n }\n }\n if (isOrderingDirty) {\n recomputePluginOrdering();\n }\n },\n\n /**\n * Looks up the plugin for the supplied event.\n *\n * @param {object} event A synthetic event.\n * @return {?object} The plugin that created the supplied event.\n * @internal\n */\n getPluginModuleForEvent: function (event) {\n var dispatchConfig = event.dispatchConfig;\n if (dispatchConfig.registrationName) {\n return EventPluginRegistry.registrationNameModules[dispatchConfig.registrationName] || null;\n }\n if (dispatchConfig.phasedRegistrationNames !== undefined) {\n // pulling phasedRegistrationNames out of dispatchConfig helps Flow see\n // that it is not undefined.\n var phasedRegistrationNames = dispatchConfig.phasedRegistrationNames;\n\n for (var phase in phasedRegistrationNames) {\n if (!phasedRegistrationNames.hasOwnProperty(phase)) {\n continue;\n }\n var pluginModule = EventPluginRegistry.registrationNameModules[phasedRegistrationNames[phase]];\n if (pluginModule) {\n return pluginModule;\n }\n }\n }\n return null;\n },\n\n /**\n * Exposed for unit testing.\n * @private\n */\n _resetEventPlugins: function () {\n eventPluginOrder = null;\n for (var pluginName in namesToPlugins) {\n if (namesToPlugins.hasOwnProperty(pluginName)) {\n delete namesToPlugins[pluginName];\n }\n }\n EventPluginRegistry.plugins.length = 0;\n\n var eventNameDispatchConfigs = EventPluginRegistry.eventNameDispatchConfigs;\n for (var eventName in eventNameDispatchConfigs) {\n if (eventNameDispatchConfigs.hasOwnProperty(eventName)) {\n delete eventNameDispatchConfigs[eventName];\n }\n }\n\n var registrationNameModules = EventPluginRegistry.registrationNameModules;\n for (var registrationName in registrationNameModules) {\n if (registrationNameModules.hasOwnProperty(registrationName)) {\n delete registrationNameModules[registrationName];\n }\n }\n\n if (process.env.NODE_ENV !== 'production') {\n var possibleRegistrationNames = EventPluginRegistry.possibleRegistrationNames;\n for (var lowerCasedName in possibleRegistrationNames) {\n if (possibleRegistrationNames.hasOwnProperty(lowerCasedName)) {\n delete possibleRegistrationNames[lowerCasedName];\n }\n }\n }\n }\n};\n\nmodule.exports = EventPluginRegistry;","/**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n */\n\n'use strict';\n\nvar _prodInvariant = require('./reactProdInvariant');\n\nvar ReactErrorUtils = require('./ReactErrorUtils');\n\nvar invariant = require('fbjs/lib/invariant');\nvar warning = require('fbjs/lib/warning');\n\n/**\n * Injected dependencies:\n */\n\n/**\n * - `ComponentTree`: [required] Module that can convert between React instances\n * and actual node references.\n */\nvar ComponentTree;\nvar TreeTraversal;\nvar injection = {\n injectComponentTree: function (Injected) {\n ComponentTree = Injected;\n if (process.env.NODE_ENV !== 'production') {\n process.env.NODE_ENV !== 'production' ? warning(Injected && Injected.getNodeFromInstance && Injected.getInstanceFromNode, 'EventPluginUtils.injection.injectComponentTree(...): Injected ' + 'module is missing getNodeFromInstance or getInstanceFromNode.') : void 0;\n }\n },\n injectTreeTraversal: function (Injected) {\n TreeTraversal = Injected;\n if (process.env.NODE_ENV !== 'production') {\n process.env.NODE_ENV !== 'production' ? warning(Injected && Injected.isAncestor && Injected.getLowestCommonAncestor, 'EventPluginUtils.injection.injectTreeTraversal(...): Injected ' + 'module is missing isAncestor or getLowestCommonAncestor.') : void 0;\n }\n }\n};\n\nfunction isEndish(topLevelType) {\n return topLevelType === 'topMouseUp' || topLevelType === 'topTouchEnd' || topLevelType === 'topTouchCancel';\n}\n\nfunction isMoveish(topLevelType) {\n return topLevelType === 'topMouseMove' || topLevelType === 'topTouchMove';\n}\nfunction isStartish(topLevelType) {\n return topLevelType === 'topMouseDown' || topLevelType === 'topTouchStart';\n}\n\nvar validateEventDispatches;\nif (process.env.NODE_ENV !== 'production') {\n validateEventDispatches = function (event) {\n var dispatchListeners = event._dispatchListeners;\n var dispatchInstances = event._dispatchInstances;\n\n var listenersIsArr = Array.isArray(dispatchListeners);\n var listenersLen = listenersIsArr ? dispatchListeners.length : dispatchListeners ? 1 : 0;\n\n var instancesIsArr = Array.isArray(dispatchInstances);\n var instancesLen = instancesIsArr ? dispatchInstances.length : dispatchInstances ? 1 : 0;\n\n process.env.NODE_ENV !== 'production' ? warning(instancesIsArr === listenersIsArr && instancesLen === listenersLen, 'EventPluginUtils: Invalid `event`.') : void 0;\n };\n}\n\n/**\n * Dispatch the event to the listener.\n * @param {SyntheticEvent} event SyntheticEvent to handle\n * @param {boolean} simulated If the event is simulated (changes exn behavior)\n * @param {function} listener Application-level callback\n * @param {*} inst Internal component instance\n */\nfunction executeDispatch(event, simulated, listener, inst) {\n var type = event.type || 'unknown-event';\n event.currentTarget = EventPluginUtils.getNodeFromInstance(inst);\n if (simulated) {\n ReactErrorUtils.invokeGuardedCallbackWithCatch(type, listener, event);\n } else {\n ReactErrorUtils.invokeGuardedCallback(type, listener, event);\n }\n event.currentTarget = null;\n}\n\n/**\n * Standard/simple iteration through an event's collected dispatches.\n */\nfunction executeDispatchesInOrder(event, simulated) {\n var dispatchListeners = event._dispatchListeners;\n var dispatchInstances = event._dispatchInstances;\n if (process.env.NODE_ENV !== 'production') {\n validateEventDispatches(event);\n }\n if (Array.isArray(dispatchListeners)) {\n for (var i = 0; i < dispatchListeners.length; i++) {\n if (event.isPropagationStopped()) {\n break;\n }\n // Listeners and Instances are two parallel arrays that are always in sync.\n executeDispatch(event, simulated, dispatchListeners[i], dispatchInstances[i]);\n }\n } else if (dispatchListeners) {\n executeDispatch(event, simulated, dispatchListeners, dispatchInstances);\n }\n event._dispatchListeners = null;\n event._dispatchInstances = null;\n}\n\n/**\n * Standard/simple iteration through an event's collected dispatches, but stops\n * at the first dispatch execution returning true, and returns that id.\n *\n * @return {?string} id of the first dispatch execution who's listener returns\n * true, or null if no listener returned true.\n */\nfunction executeDispatchesInOrderStopAtTrueImpl(event) {\n var dispatchListeners = event._dispatchListeners;\n var dispatchInstances = event._dispatchInstances;\n if (process.env.NODE_ENV !== 'production') {\n validateEventDispatches(event);\n }\n if (Array.isArray(dispatchListeners)) {\n for (var i = 0; i < dispatchListeners.length; i++) {\n if (event.isPropagationStopped()) {\n break;\n }\n // Listeners and Instances are two parallel arrays that are always in sync.\n if (dispatchListeners[i](event, dispatchInstances[i])) {\n return dispatchInstances[i];\n }\n }\n } else if (dispatchListeners) {\n if (dispatchListeners(event, dispatchInstances)) {\n return dispatchInstances;\n }\n }\n return null;\n}\n\n/**\n * @see executeDispatchesInOrderStopAtTrueImpl\n */\nfunction executeDispatchesInOrderStopAtTrue(event) {\n var ret = executeDispatchesInOrderStopAtTrueImpl(event);\n event._dispatchInstances = null;\n event._dispatchListeners = null;\n return ret;\n}\n\n/**\n * Execution of a \"direct\" dispatch - there must be at most one dispatch\n * accumulated on the event or it is considered an error. It doesn't really make\n * sense for an event with multiple dispatches (bubbled) to keep track of the\n * return values at each dispatch execution, but it does tend to make sense when\n * dealing with \"direct\" dispatches.\n *\n * @return {*} The return value of executing the single dispatch.\n */\nfunction executeDirectDispatch(event) {\n if (process.env.NODE_ENV !== 'production') {\n validateEventDispatches(event);\n }\n var dispatchListener = event._dispatchListeners;\n var dispatchInstance = event._dispatchInstances;\n !!Array.isArray(dispatchListener) ? process.env.NODE_ENV !== 'production' ? invariant(false, 'executeDirectDispatch(...): Invalid `event`.') : _prodInvariant('103') : void 0;\n event.currentTarget = dispatchListener ? EventPluginUtils.getNodeFromInstance(dispatchInstance) : null;\n var res = dispatchListener ? dispatchListener(event) : null;\n event.currentTarget = null;\n event._dispatchListeners = null;\n event._dispatchInstances = null;\n return res;\n}\n\n/**\n * @param {SyntheticEvent} event\n * @return {boolean} True iff number of dispatches accumulated is greater than 0.\n */\nfunction hasDispatches(event) {\n return !!event._dispatchListeners;\n}\n\n/**\n * General utilities that are useful in creating custom Event Plugins.\n */\nvar EventPluginUtils = {\n isEndish: isEndish,\n isMoveish: isMoveish,\n isStartish: isStartish,\n\n executeDirectDispatch: executeDirectDispatch,\n executeDispatchesInOrder: executeDispatchesInOrder,\n executeDispatchesInOrderStopAtTrue: executeDispatchesInOrderStopAtTrue,\n hasDispatches: hasDispatches,\n\n getInstanceFromNode: function (node) {\n return ComponentTree.getInstanceFromNode(node);\n },\n getNodeFromInstance: function (node) {\n return ComponentTree.getNodeFromInstance(node);\n },\n isAncestor: function (a, b) {\n return TreeTraversal.isAncestor(a, b);\n },\n getLowestCommonAncestor: function (a, b) {\n return TreeTraversal.getLowestCommonAncestor(a, b);\n },\n getParentInstance: function (inst) {\n return TreeTraversal.getParentInstance(inst);\n },\n traverseTwoPhase: function (target, fn, arg) {\n return TreeTraversal.traverseTwoPhase(target, fn, arg);\n },\n traverseEnterLeave: function (from, to, fn, argFrom, argTo) {\n return TreeTraversal.traverseEnterLeave(from, to, fn, argFrom, argTo);\n },\n\n injection: injection\n};\n\nmodule.exports = EventPluginUtils;","/**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * \n */\n\n'use strict';\n\nvar caughtError = null;\n\n/**\n * Call a function while guarding against errors that happens within it.\n *\n * @param {String} name of the guard to use for logging or debugging\n * @param {Function} func The function to invoke\n * @param {*} a First argument\n * @param {*} b Second argument\n */\nfunction invokeGuardedCallback(name, func, a) {\n try {\n func(a);\n } catch (x) {\n if (caughtError === null) {\n caughtError = x;\n }\n }\n}\n\nvar ReactErrorUtils = {\n invokeGuardedCallback: invokeGuardedCallback,\n\n /**\n * Invoked by ReactTestUtils.Simulate so that any errors thrown by the event\n * handler are sure to be rethrown by rethrowCaughtError.\n */\n invokeGuardedCallbackWithCatch: invokeGuardedCallback,\n\n /**\n * During execution of guarded functions we will capture the first error which\n * we will rethrow to be handled by the top level error handler.\n */\n rethrowCaughtError: function () {\n if (caughtError) {\n var error = caughtError;\n caughtError = null;\n throw error;\n }\n }\n};\n\nif (process.env.NODE_ENV !== 'production') {\n /**\n * To help development we can get better devtools integration by simulating a\n * real browser event.\n */\n if (typeof window !== 'undefined' && typeof window.dispatchEvent === 'function' && typeof document !== 'undefined' && typeof document.createEvent === 'function') {\n var fakeNode = document.createElement('react');\n ReactErrorUtils.invokeGuardedCallback = function (name, func, a) {\n var boundFunc = function () {\n func(a);\n };\n var evtType = 'react-' + name;\n fakeNode.addEventListener(evtType, boundFunc, false);\n var evt = document.createEvent('Event');\n evt.initEvent(evtType, false, false);\n fakeNode.dispatchEvent(evt);\n fakeNode.removeEventListener(evtType, boundFunc, false);\n };\n }\n}\n\nmodule.exports = ReactErrorUtils;","/**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n */\n\n'use strict';\n\n/**\n * Gets the target node from a native browser event by accounting for\n * inconsistencies in browser DOM APIs.\n *\n * @param {object} nativeEvent Native browser event.\n * @return {DOMEventTarget} Target node.\n */\n\nfunction getEventTarget(nativeEvent) {\n var target = nativeEvent.target || nativeEvent.srcElement || window;\n\n // Normalize SVG element events #4963\n if (target.correspondingUseElement) {\n target = target.correspondingUseElement;\n }\n\n // Safari may fire events on text nodes (Node.TEXT_NODE is 3).\n // @see http://www.quirksmode.org/js/events_properties.html\n return target.nodeType === 3 ? target.parentNode : target;\n}\n\nmodule.exports = getEventTarget;","/**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n */\n\n'use strict';\n\nvar ExecutionEnvironment = require('fbjs/lib/ExecutionEnvironment');\n\nvar useHasFeature;\nif (ExecutionEnvironment.canUseDOM) {\n useHasFeature = document.implementation && document.implementation.hasFeature &&\n // always returns true in newer browsers as per the standard.\n // @see http://dom.spec.whatwg.org/#dom-domimplementation-hasfeature\n document.implementation.hasFeature('', '') !== true;\n}\n\n/**\n * Checks if an event is supported in the current execution environment.\n *\n * NOTE: This will not work correctly for non-generic events such as `change`,\n * `reset`, `load`, `error`, and `select`.\n *\n * Borrows from Modernizr.\n *\n * @param {string} eventNameSuffix Event name, e.g. \"click\".\n * @param {?boolean} capture Check if the capture phase is supported.\n * @return {boolean} True if the event is supported.\n * @internal\n * @license Modernizr 3.0.0pre (Custom Build) | MIT\n */\nfunction isEventSupported(eventNameSuffix, capture) {\n if (!ExecutionEnvironment.canUseDOM || capture && !('addEventListener' in document)) {\n return false;\n }\n\n var eventName = 'on' + eventNameSuffix;\n var isSupported = eventName in document;\n\n if (!isSupported) {\n var element = document.createElement('div');\n element.setAttribute(eventName, 'return;');\n isSupported = typeof element[eventName] === 'function';\n }\n\n if (!isSupported && useHasFeature && eventNameSuffix === 'wheel') {\n // This is the only way to test support for the `wheel` event in IE9+.\n isSupported = document.implementation.hasFeature('Events.wheel', '3.0');\n }\n\n return isSupported;\n}\n\nmodule.exports = isEventSupported;","/**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n */\n\n'use strict';\n\n/**\n * Translation from modifier key to the associated property in the event.\n * @see http://www.w3.org/TR/DOM-Level-3-Events/#keys-Modifiers\n */\n\nvar modifierKeyToProp = {\n Alt: 'altKey',\n Control: 'ctrlKey',\n Meta: 'metaKey',\n Shift: 'shiftKey'\n};\n\n// IE8 does not implement getModifierState so we simply map it to the only\n// modifier keys exposed by the event itself, does not support Lock-keys.\n// Currently, all major browsers except Chrome seems to support Lock-keys.\nfunction modifierStateGetter(keyArg) {\n var syntheticEvent = this;\n var nativeEvent = syntheticEvent.nativeEvent;\n if (nativeEvent.getModifierState) {\n return nativeEvent.getModifierState(keyArg);\n }\n var keyProp = modifierKeyToProp[keyArg];\n return keyProp ? !!nativeEvent[keyProp] : false;\n}\n\nfunction getEventModifierState(nativeEvent) {\n return modifierStateGetter;\n}\n\nmodule.exports = getEventModifierState;","/**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n */\n\n'use strict';\n\nvar DOMLazyTree = require('./DOMLazyTree');\nvar Danger = require('./Danger');\nvar ReactDOMComponentTree = require('./ReactDOMComponentTree');\nvar ReactInstrumentation = require('./ReactInstrumentation');\n\nvar createMicrosoftUnsafeLocalFunction = require('./createMicrosoftUnsafeLocalFunction');\nvar setInnerHTML = require('./setInnerHTML');\nvar setTextContent = require('./setTextContent');\n\nfunction getNodeAfter(parentNode, node) {\n // Special case for text components, which return [open, close] comments\n // from getHostNode.\n if (Array.isArray(node)) {\n node = node[1];\n }\n return node ? node.nextSibling : parentNode.firstChild;\n}\n\n/**\n * Inserts `childNode` as a child of `parentNode` at the `index`.\n *\n * @param {DOMElement} parentNode Parent node in which to insert.\n * @param {DOMElement} childNode Child node to insert.\n * @param {number} index Index at which to insert the child.\n * @internal\n */\nvar insertChildAt = createMicrosoftUnsafeLocalFunction(function (parentNode, childNode, referenceNode) {\n // We rely exclusively on `insertBefore(node, null)` instead of also using\n // `appendChild(node)`. (Using `undefined` is not allowed by all browsers so\n // we are careful to use `null`.)\n parentNode.insertBefore(childNode, referenceNode);\n});\n\nfunction insertLazyTreeChildAt(parentNode, childTree, referenceNode) {\n DOMLazyTree.insertTreeBefore(parentNode, childTree, referenceNode);\n}\n\nfunction moveChild(parentNode, childNode, referenceNode) {\n if (Array.isArray(childNode)) {\n moveDelimitedText(parentNode, childNode[0], childNode[1], referenceNode);\n } else {\n insertChildAt(parentNode, childNode, referenceNode);\n }\n}\n\nfunction removeChild(parentNode, childNode) {\n if (Array.isArray(childNode)) {\n var closingComment = childNode[1];\n childNode = childNode[0];\n removeDelimitedText(parentNode, childNode, closingComment);\n parentNode.removeChild(closingComment);\n }\n parentNode.removeChild(childNode);\n}\n\nfunction moveDelimitedText(parentNode, openingComment, closingComment, referenceNode) {\n var node = openingComment;\n while (true) {\n var nextNode = node.nextSibling;\n insertChildAt(parentNode, node, referenceNode);\n if (node === closingComment) {\n break;\n }\n node = nextNode;\n }\n}\n\nfunction removeDelimitedText(parentNode, startNode, closingComment) {\n while (true) {\n var node = startNode.nextSibling;\n if (node === closingComment) {\n // The closing comment is removed by ReactMultiChild.\n break;\n } else {\n parentNode.removeChild(node);\n }\n }\n}\n\nfunction replaceDelimitedText(openingComment, closingComment, stringText) {\n var parentNode = openingComment.parentNode;\n var nodeAfterComment = openingComment.nextSibling;\n if (nodeAfterComment === closingComment) {\n // There are no text nodes between the opening and closing comments; insert\n // a new one if stringText isn't empty.\n if (stringText) {\n insertChildAt(parentNode, document.createTextNode(stringText), nodeAfterComment);\n }\n } else {\n if (stringText) {\n // Set the text content of the first node after the opening comment, and\n // remove all following nodes up until the closing comment.\n setTextContent(nodeAfterComment, stringText);\n removeDelimitedText(parentNode, nodeAfterComment, closingComment);\n } else {\n removeDelimitedText(parentNode, openingComment, closingComment);\n }\n }\n\n if (process.env.NODE_ENV !== 'production') {\n ReactInstrumentation.debugTool.onHostOperation({\n instanceID: ReactDOMComponentTree.getInstanceFromNode(openingComment)._debugID,\n type: 'replace text',\n payload: stringText\n });\n }\n}\n\nvar dangerouslyReplaceNodeWithMarkup = Danger.dangerouslyReplaceNodeWithMarkup;\nif (process.env.NODE_ENV !== 'production') {\n dangerouslyReplaceNodeWithMarkup = function (oldChild, markup, prevInstance) {\n Danger.dangerouslyReplaceNodeWithMarkup(oldChild, markup);\n if (prevInstance._debugID !== 0) {\n ReactInstrumentation.debugTool.onHostOperation({\n instanceID: prevInstance._debugID,\n type: 'replace with',\n payload: markup.toString()\n });\n } else {\n var nextInstance = ReactDOMComponentTree.getInstanceFromNode(markup.node);\n if (nextInstance._debugID !== 0) {\n ReactInstrumentation.debugTool.onHostOperation({\n instanceID: nextInstance._debugID,\n type: 'mount',\n payload: markup.toString()\n });\n }\n }\n };\n}\n\n/**\n * Operations for updating with DOM children.\n */\nvar DOMChildrenOperations = {\n dangerouslyReplaceNodeWithMarkup: dangerouslyReplaceNodeWithMarkup,\n\n replaceDelimitedText: replaceDelimitedText,\n\n /**\n * Updates a component's children by processing a series of updates. The\n * update configurations are each expected to have a `parentNode` property.\n *\n * @param {array} updates List of update configurations.\n * @internal\n */\n processUpdates: function (parentNode, updates) {\n if (process.env.NODE_ENV !== 'production') {\n var parentNodeDebugID = ReactDOMComponentTree.getInstanceFromNode(parentNode)._debugID;\n }\n\n for (var k = 0; k < updates.length; k++) {\n var update = updates[k];\n switch (update.type) {\n case 'INSERT_MARKUP':\n insertLazyTreeChildAt(parentNode, update.content, getNodeAfter(parentNode, update.afterNode));\n if (process.env.NODE_ENV !== 'production') {\n ReactInstrumentation.debugTool.onHostOperation({\n instanceID: parentNodeDebugID,\n type: 'insert child',\n payload: {\n toIndex: update.toIndex,\n content: update.content.toString()\n }\n });\n }\n break;\n case 'MOVE_EXISTING':\n moveChild(parentNode, update.fromNode, getNodeAfter(parentNode, update.afterNode));\n if (process.env.NODE_ENV !== 'production') {\n ReactInstrumentation.debugTool.onHostOperation({\n instanceID: parentNodeDebugID,\n type: 'move child',\n payload: { fromIndex: update.fromIndex, toIndex: update.toIndex }\n });\n }\n break;\n case 'SET_MARKUP':\n setInnerHTML(parentNode, update.content);\n if (process.env.NODE_ENV !== 'production') {\n ReactInstrumentation.debugTool.onHostOperation({\n instanceID: parentNodeDebugID,\n type: 'replace children',\n payload: update.content.toString()\n });\n }\n break;\n case 'TEXT_CONTENT':\n setTextContent(parentNode, update.content);\n if (process.env.NODE_ENV !== 'production') {\n ReactInstrumentation.debugTool.onHostOperation({\n instanceID: parentNodeDebugID,\n type: 'replace text',\n payload: update.content.toString()\n });\n }\n break;\n case 'REMOVE_NODE':\n removeChild(parentNode, update.fromNode);\n if (process.env.NODE_ENV !== 'production') {\n ReactInstrumentation.debugTool.onHostOperation({\n instanceID: parentNodeDebugID,\n type: 'remove child',\n payload: { fromIndex: update.fromIndex }\n });\n }\n break;\n }\n }\n }\n};\n\nmodule.exports = DOMChildrenOperations;","/**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n */\n\n'use strict';\n\nvar DOMNamespaces = {\n html: 'http://www.w3.org/1999/xhtml',\n mathml: 'http://www.w3.org/1998/Math/MathML',\n svg: 'http://www.w3.org/2000/svg'\n};\n\nmodule.exports = DOMNamespaces;","/**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n */\n\n/* globals MSApp */\n\n'use strict';\n\n/**\n * Create a function which has 'unsafe' privileges (required by windows8 apps)\n */\n\nvar createMicrosoftUnsafeLocalFunction = function (func) {\n if (typeof MSApp !== 'undefined' && MSApp.execUnsafeLocalFunction) {\n return function (arg0, arg1, arg2, arg3) {\n MSApp.execUnsafeLocalFunction(function () {\n return func(arg0, arg1, arg2, arg3);\n });\n };\n } else {\n return func;\n }\n};\n\nmodule.exports = createMicrosoftUnsafeLocalFunction;","/**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n */\n\n'use strict';\n\nvar _prodInvariant = require('./reactProdInvariant');\n\nvar ReactPropTypesSecret = require('./ReactPropTypesSecret');\nvar propTypesFactory = require('prop-types/factory');\n\nvar React = require('react/lib/React');\nvar PropTypes = propTypesFactory(React.isValidElement);\n\nvar invariant = require('fbjs/lib/invariant');\nvar warning = require('fbjs/lib/warning');\n\nvar hasReadOnlyValue = {\n button: true,\n checkbox: true,\n image: true,\n hidden: true,\n radio: true,\n reset: true,\n submit: true\n};\n\nfunction _assertSingleLink(inputProps) {\n !(inputProps.checkedLink == null || inputProps.valueLink == null) ? process.env.NODE_ENV !== 'production' ? invariant(false, 'Cannot provide a checkedLink and a valueLink. If you want to use checkedLink, you probably don\\'t want to use valueLink and vice versa.') : _prodInvariant('87') : void 0;\n}\nfunction _assertValueLink(inputProps) {\n _assertSingleLink(inputProps);\n !(inputProps.value == null && inputProps.onChange == null) ? process.env.NODE_ENV !== 'production' ? invariant(false, 'Cannot provide a valueLink and a value or onChange event. If you want to use value or onChange, you probably don\\'t want to use valueLink.') : _prodInvariant('88') : void 0;\n}\n\nfunction _assertCheckedLink(inputProps) {\n _assertSingleLink(inputProps);\n !(inputProps.checked == null && inputProps.onChange == null) ? process.env.NODE_ENV !== 'production' ? invariant(false, 'Cannot provide a checkedLink and a checked property or onChange event. If you want to use checked or onChange, you probably don\\'t want to use checkedLink') : _prodInvariant('89') : void 0;\n}\n\nvar propTypes = {\n value: function (props, propName, componentName) {\n if (!props[propName] || hasReadOnlyValue[props.type] || props.onChange || props.readOnly || props.disabled) {\n return null;\n }\n return new Error('You provided a `value` prop to a form field without an ' + '`onChange` handler. This will render a read-only field. If ' + 'the field should be mutable use `defaultValue`. Otherwise, ' + 'set either `onChange` or `readOnly`.');\n },\n checked: function (props, propName, componentName) {\n if (!props[propName] || props.onChange || props.readOnly || props.disabled) {\n return null;\n }\n return new Error('You provided a `checked` prop to a form field without an ' + '`onChange` handler. This will render a read-only field. If ' + 'the field should be mutable use `defaultChecked`. Otherwise, ' + 'set either `onChange` or `readOnly`.');\n },\n onChange: PropTypes.func\n};\n\nvar loggedTypeFailures = {};\nfunction getDeclarationErrorAddendum(owner) {\n if (owner) {\n var name = owner.getName();\n if (name) {\n return ' Check the render method of `' + name + '`.';\n }\n }\n return '';\n}\n\n/**\n * Provide a linked `value` attribute for controlled forms. You should not use\n * this outside of the ReactDOM controlled form components.\n */\nvar LinkedValueUtils = {\n checkPropTypes: function (tagName, props, owner) {\n for (var propName in propTypes) {\n if (propTypes.hasOwnProperty(propName)) {\n var error = propTypes[propName](props, propName, tagName, 'prop', null, ReactPropTypesSecret);\n }\n if (error instanceof Error && !(error.message in loggedTypeFailures)) {\n // Only monitor this failure once because there tends to be a lot of the\n // same error.\n loggedTypeFailures[error.message] = true;\n\n var addendum = getDeclarationErrorAddendum(owner);\n process.env.NODE_ENV !== 'production' ? warning(false, 'Failed form propType: %s%s', error.message, addendum) : void 0;\n }\n }\n },\n\n /**\n * @param {object} inputProps Props for form component\n * @return {*} current value of the input either from value prop or link.\n */\n getValue: function (inputProps) {\n if (inputProps.valueLink) {\n _assertValueLink(inputProps);\n return inputProps.valueLink.value;\n }\n return inputProps.value;\n },\n\n /**\n * @param {object} inputProps Props for form component\n * @return {*} current checked status of the input either from checked prop\n * or link.\n */\n getChecked: function (inputProps) {\n if (inputProps.checkedLink) {\n _assertCheckedLink(inputProps);\n return inputProps.checkedLink.value;\n }\n return inputProps.checked;\n },\n\n /**\n * @param {object} inputProps Props for form component\n * @param {SyntheticEvent} event change event to handle\n */\n executeOnChange: function (inputProps, event) {\n if (inputProps.valueLink) {\n _assertValueLink(inputProps);\n return inputProps.valueLink.requestChange(event.target.value);\n } else if (inputProps.checkedLink) {\n _assertCheckedLink(inputProps);\n return inputProps.checkedLink.requestChange(event.target.checked);\n } else if (inputProps.onChange) {\n return inputProps.onChange.call(undefined, event);\n }\n }\n};\n\nmodule.exports = LinkedValueUtils;","/**\n * Copyright (c) 2014-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * \n */\n\n'use strict';\n\nvar _prodInvariant = require('./reactProdInvariant');\n\nvar invariant = require('fbjs/lib/invariant');\n\nvar injected = false;\n\nvar ReactComponentEnvironment = {\n /**\n * Optionally injectable hook for swapping out mount images in the middle of\n * the tree.\n */\n replaceNodeWithMarkup: null,\n\n /**\n * Optionally injectable hook for processing a queue of child updates. Will\n * later move into MultiChildComponents.\n */\n processChildrenUpdates: null,\n\n injection: {\n injectEnvironment: function (environment) {\n !!injected ? process.env.NODE_ENV !== 'production' ? invariant(false, 'ReactCompositeComponent: injectEnvironment() can only be called once.') : _prodInvariant('104') : void 0;\n ReactComponentEnvironment.replaceNodeWithMarkup = environment.replaceNodeWithMarkup;\n ReactComponentEnvironment.processChildrenUpdates = environment.processChildrenUpdates;\n injected = true;\n }\n }\n};\n\nmodule.exports = ReactComponentEnvironment;","/**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * @typechecks\n * \n */\n\n/*eslint-disable no-self-compare */\n\n'use strict';\n\nvar hasOwnProperty = Object.prototype.hasOwnProperty;\n\n/**\n * inlined Object.is polyfill to avoid requiring consumers ship their own\n * https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/is\n */\nfunction is(x, y) {\n // SameValue algorithm\n if (x === y) {\n // Steps 1-5, 7-10\n // Steps 6.b-6.e: +0 != -0\n // Added the nonzero y check to make Flow happy, but it is redundant\n return x !== 0 || y !== 0 || 1 / x === 1 / y;\n } else {\n // Step 6.a: NaN == NaN\n return x !== x && y !== y;\n }\n}\n\n/**\n * Performs equality by iterating through keys on an object and returning false\n * when any key has values which are not strictly equal between the arguments.\n * Returns true when the values of all keys are strictly equal.\n */\nfunction shallowEqual(objA, objB) {\n if (is(objA, objB)) {\n return true;\n }\n\n if (typeof objA !== 'object' || objA === null || typeof objB !== 'object' || objB === null) {\n return false;\n }\n\n var keysA = Object.keys(objA);\n var keysB = Object.keys(objB);\n\n if (keysA.length !== keysB.length) {\n return false;\n }\n\n // Test for A's keys different from B.\n for (var i = 0; i < keysA.length; i++) {\n if (!hasOwnProperty.call(objB, keysA[i]) || !is(objA[keysA[i]], objB[keysA[i]])) {\n return false;\n }\n }\n\n return true;\n}\n\nmodule.exports = shallowEqual;","/**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n */\n\n'use strict';\n\n/**\n * Given a `prevElement` and `nextElement`, determines if the existing\n * instance should be updated as opposed to being destroyed or replaced by a new\n * instance. Both arguments are elements. This ensures that this logic can\n * operate on stateless trees without any backing instance.\n *\n * @param {?object} prevElement\n * @param {?object} nextElement\n * @return {boolean} True if the existing instance should be updated.\n * @protected\n */\n\nfunction shouldUpdateReactComponent(prevElement, nextElement) {\n var prevEmpty = prevElement === null || prevElement === false;\n var nextEmpty = nextElement === null || nextElement === false;\n if (prevEmpty || nextEmpty) {\n return prevEmpty === nextEmpty;\n }\n\n var prevType = typeof prevElement;\n var nextType = typeof nextElement;\n if (prevType === 'string' || prevType === 'number') {\n return nextType === 'string' || nextType === 'number';\n } else {\n return nextType === 'object' && prevElement.type === nextElement.type && prevElement.key === nextElement.key;\n }\n}\n\nmodule.exports = shouldUpdateReactComponent;","/**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * \n */\n\n'use strict';\n\n/**\n * Escape and wrap key so it is safe to use as a reactid\n *\n * @param {string} key to be escaped.\n * @return {string} the escaped key.\n */\n\nfunction escape(key) {\n var escapeRegex = /[=:]/g;\n var escaperLookup = {\n '=': '=0',\n ':': '=2'\n };\n var escapedString = ('' + key).replace(escapeRegex, function (match) {\n return escaperLookup[match];\n });\n\n return '$' + escapedString;\n}\n\n/**\n * Unescape and unwrap key for human-readable display\n *\n * @param {string} key to unescape.\n * @return {string} the unescaped key.\n */\nfunction unescape(key) {\n var unescapeRegex = /(=0|=2)/g;\n var unescaperLookup = {\n '=0': '=',\n '=2': ':'\n };\n var keySubstring = key[0] === '.' && key[1] === '$' ? key.substring(2) : key.substring(1);\n\n return ('' + keySubstring).replace(unescapeRegex, function (match) {\n return unescaperLookup[match];\n });\n}\n\nvar KeyEscapeUtils = {\n escape: escape,\n unescape: unescape\n};\n\nmodule.exports = KeyEscapeUtils;","/**\n * Copyright (c) 2015-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n */\n\n'use strict';\n\nvar _prodInvariant = require('./reactProdInvariant');\n\nvar ReactCurrentOwner = require('react/lib/ReactCurrentOwner');\nvar ReactInstanceMap = require('./ReactInstanceMap');\nvar ReactInstrumentation = require('./ReactInstrumentation');\nvar ReactUpdates = require('./ReactUpdates');\n\nvar invariant = require('fbjs/lib/invariant');\nvar warning = require('fbjs/lib/warning');\n\nfunction enqueueUpdate(internalInstance) {\n ReactUpdates.enqueueUpdate(internalInstance);\n}\n\nfunction formatUnexpectedArgument(arg) {\n var type = typeof arg;\n if (type !== 'object') {\n return type;\n }\n var displayName = arg.constructor && arg.constructor.name || type;\n var keys = Object.keys(arg);\n if (keys.length > 0 && keys.length < 20) {\n return displayName + ' (keys: ' + keys.join(', ') + ')';\n }\n return displayName;\n}\n\nfunction getInternalInstanceReadyForUpdate(publicInstance, callerName) {\n var internalInstance = ReactInstanceMap.get(publicInstance);\n if (!internalInstance) {\n if (process.env.NODE_ENV !== 'production') {\n var ctor = publicInstance.constructor;\n // Only warn when we have a callerName. Otherwise we should be silent.\n // We're probably calling from enqueueCallback. We don't want to warn\n // there because we already warned for the corresponding lifecycle method.\n process.env.NODE_ENV !== 'production' ? warning(!callerName, '%s(...): Can only update a mounted or mounting component. ' + 'This usually means you called %s() on an unmounted component. ' + 'This is a no-op. Please check the code for the %s component.', callerName, callerName, ctor && (ctor.displayName || ctor.name) || 'ReactClass') : void 0;\n }\n return null;\n }\n\n if (process.env.NODE_ENV !== 'production') {\n process.env.NODE_ENV !== 'production' ? warning(ReactCurrentOwner.current == null, '%s(...): Cannot update during an existing state transition (such as ' + \"within `render` or another component's constructor). Render methods \" + 'should be a pure function of props and state; constructor ' + 'side-effects are an anti-pattern, but can be moved to ' + '`componentWillMount`.', callerName) : void 0;\n }\n\n return internalInstance;\n}\n\n/**\n * ReactUpdateQueue allows for state updates to be scheduled into a later\n * reconciliation step.\n */\nvar ReactUpdateQueue = {\n /**\n * Checks whether or not this composite component is mounted.\n * @param {ReactClass} publicInstance The instance we want to test.\n * @return {boolean} True if mounted, false otherwise.\n * @protected\n * @final\n */\n isMounted: function (publicInstance) {\n if (process.env.NODE_ENV !== 'production') {\n var owner = ReactCurrentOwner.current;\n if (owner !== null) {\n process.env.NODE_ENV !== 'production' ? warning(owner._warnedAboutRefsInRender, '%s is accessing isMounted inside its render() function. ' + 'render() should be a pure function of props and state. It should ' + 'never access something that requires stale data from the previous ' + 'render, such as refs. Move this logic to componentDidMount and ' + 'componentDidUpdate instead.', owner.getName() || 'A component') : void 0;\n owner._warnedAboutRefsInRender = true;\n }\n }\n var internalInstance = ReactInstanceMap.get(publicInstance);\n if (internalInstance) {\n // During componentWillMount and render this will still be null but after\n // that will always render to something. At least for now. So we can use\n // this hack.\n return !!internalInstance._renderedComponent;\n } else {\n return false;\n }\n },\n\n /**\n * Enqueue a callback that will be executed after all the pending updates\n * have processed.\n *\n * @param {ReactClass} publicInstance The instance to use as `this` context.\n * @param {?function} callback Called after state is updated.\n * @param {string} callerName Name of the calling function in the public API.\n * @internal\n */\n enqueueCallback: function (publicInstance, callback, callerName) {\n ReactUpdateQueue.validateCallback(callback, callerName);\n var internalInstance = getInternalInstanceReadyForUpdate(publicInstance);\n\n // Previously we would throw an error if we didn't have an internal\n // instance. Since we want to make it a no-op instead, we mirror the same\n // behavior we have in other enqueue* methods.\n // We also need to ignore callbacks in componentWillMount. See\n // enqueueUpdates.\n if (!internalInstance) {\n return null;\n }\n\n if (internalInstance._pendingCallbacks) {\n internalInstance._pendingCallbacks.push(callback);\n } else {\n internalInstance._pendingCallbacks = [callback];\n }\n // TODO: The callback here is ignored when setState is called from\n // componentWillMount. Either fix it or disallow doing so completely in\n // favor of getInitialState. Alternatively, we can disallow\n // componentWillMount during server-side rendering.\n enqueueUpdate(internalInstance);\n },\n\n enqueueCallbackInternal: function (internalInstance, callback) {\n if (internalInstance._pendingCallbacks) {\n internalInstance._pendingCallbacks.push(callback);\n } else {\n internalInstance._pendingCallbacks = [callback];\n }\n enqueueUpdate(internalInstance);\n },\n\n /**\n * Forces an update. This should only be invoked when it is known with\n * certainty that we are **not** in a DOM transaction.\n *\n * You may want to call this when you know that some deeper aspect of the\n * component's state has changed but `setState` was not called.\n *\n * This will not invoke `shouldComponentUpdate`, but it will invoke\n * `componentWillUpdate` and `componentDidUpdate`.\n *\n * @param {ReactClass} publicInstance The instance that should rerender.\n * @internal\n */\n enqueueForceUpdate: function (publicInstance) {\n var internalInstance = getInternalInstanceReadyForUpdate(publicInstance, 'forceUpdate');\n\n if (!internalInstance) {\n return;\n }\n\n internalInstance._pendingForceUpdate = true;\n\n enqueueUpdate(internalInstance);\n },\n\n /**\n * Replaces all of the state. Always use this or `setState` to mutate state.\n * You should treat `this.state` as immutable.\n *\n * There is no guarantee that `this.state` will be immediately updated, so\n * accessing `this.state` after calling this method may return the old value.\n *\n * @param {ReactClass} publicInstance The instance that should rerender.\n * @param {object} completeState Next state.\n * @internal\n */\n enqueueReplaceState: function (publicInstance, completeState, callback) {\n var internalInstance = getInternalInstanceReadyForUpdate(publicInstance, 'replaceState');\n\n if (!internalInstance) {\n return;\n }\n\n internalInstance._pendingStateQueue = [completeState];\n internalInstance._pendingReplaceState = true;\n\n // Future-proof 15.5\n if (callback !== undefined && callback !== null) {\n ReactUpdateQueue.validateCallback(callback, 'replaceState');\n if (internalInstance._pendingCallbacks) {\n internalInstance._pendingCallbacks.push(callback);\n } else {\n internalInstance._pendingCallbacks = [callback];\n }\n }\n\n enqueueUpdate(internalInstance);\n },\n\n /**\n * Sets a subset of the state. This only exists because _pendingState is\n * internal. This provides a merging strategy that is not available to deep\n * properties which is confusing. TODO: Expose pendingState or don't use it\n * during the merge.\n *\n * @param {ReactClass} publicInstance The instance that should rerender.\n * @param {object} partialState Next partial state to be merged with state.\n * @internal\n */\n enqueueSetState: function (publicInstance, partialState) {\n if (process.env.NODE_ENV !== 'production') {\n ReactInstrumentation.debugTool.onSetState();\n process.env.NODE_ENV !== 'production' ? warning(partialState != null, 'setState(...): You passed an undefined or null state object; ' + 'instead, use forceUpdate().') : void 0;\n }\n\n var internalInstance = getInternalInstanceReadyForUpdate(publicInstance, 'setState');\n\n if (!internalInstance) {\n return;\n }\n\n var queue = internalInstance._pendingStateQueue || (internalInstance._pendingStateQueue = []);\n queue.push(partialState);\n\n enqueueUpdate(internalInstance);\n },\n\n enqueueElementInternal: function (internalInstance, nextElement, nextContext) {\n internalInstance._pendingElement = nextElement;\n // TODO: introduce _pendingContext instead of setting it directly.\n internalInstance._context = nextContext;\n enqueueUpdate(internalInstance);\n },\n\n validateCallback: function (callback, callerName) {\n !(!callback || typeof callback === 'function') ? process.env.NODE_ENV !== 'production' ? invariant(false, '%s(...): Expected the last optional `callback` argument to be a function. Instead received: %s.', callerName, formatUnexpectedArgument(callback)) : _prodInvariant('122', callerName, formatUnexpectedArgument(callback)) : void 0;\n }\n};\n\nmodule.exports = ReactUpdateQueue;","/**\n * Copyright (c) 2015-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n */\n\n'use strict';\n\nvar _assign = require('object-assign');\n\nvar emptyFunction = require('fbjs/lib/emptyFunction');\nvar warning = require('fbjs/lib/warning');\n\nvar validateDOMNesting = emptyFunction;\n\nif (process.env.NODE_ENV !== 'production') {\n // This validation code was written based on the HTML5 parsing spec:\n // https://html.spec.whatwg.org/multipage/syntax.html#has-an-element-in-scope\n //\n // Note: this does not catch all invalid nesting, nor does it try to (as it's\n // not clear what practical benefit doing so provides); instead, we warn only\n // for cases where the parser will give a parse tree differing from what React\n // intended. For example,
is invalid but we don't warn\n // because it still parses correctly; we do warn for other cases like nested\n //

tags where the beginning of the second element implicitly closes the\n // first, causing a confusing mess.\n\n // https://html.spec.whatwg.org/multipage/syntax.html#special\n var specialTags = ['address', 'applet', 'area', 'article', 'aside', 'base', 'basefont', 'bgsound', 'blockquote', 'body', 'br', 'button', 'caption', 'center', 'col', 'colgroup', 'dd', 'details', 'dir', 'div', 'dl', 'dt', 'embed', 'fieldset', 'figcaption', 'figure', 'footer', 'form', 'frame', 'frameset', 'h1', 'h2', 'h3', 'h4', 'h5', 'h6', 'head', 'header', 'hgroup', 'hr', 'html', 'iframe', 'img', 'input', 'isindex', 'li', 'link', 'listing', 'main', 'marquee', 'menu', 'menuitem', 'meta', 'nav', 'noembed', 'noframes', 'noscript', 'object', 'ol', 'p', 'param', 'plaintext', 'pre', 'script', 'section', 'select', 'source', 'style', 'summary', 'table', 'tbody', 'td', 'template', 'textarea', 'tfoot', 'th', 'thead', 'title', 'tr', 'track', 'ul', 'wbr', 'xmp'];\n\n // https://html.spec.whatwg.org/multipage/syntax.html#has-an-element-in-scope\n var inScopeTags = ['applet', 'caption', 'html', 'table', 'td', 'th', 'marquee', 'object', 'template',\n\n // https://html.spec.whatwg.org/multipage/syntax.html#html-integration-point\n // TODO: Distinguish by namespace here -- for , including it here\n // errs on the side of fewer warnings\n 'foreignObject', 'desc', 'title'];\n\n // https://html.spec.whatwg.org/multipage/syntax.html#has-an-element-in-button-scope\n var buttonScopeTags = inScopeTags.concat(['button']);\n\n // https://html.spec.whatwg.org/multipage/syntax.html#generate-implied-end-tags\n var impliedEndTags = ['dd', 'dt', 'li', 'option', 'optgroup', 'p', 'rp', 'rt'];\n\n var emptyAncestorInfo = {\n current: null,\n\n formTag: null,\n aTagInScope: null,\n buttonTagInScope: null,\n nobrTagInScope: null,\n pTagInButtonScope: null,\n\n listItemTagAutoclosing: null,\n dlItemTagAutoclosing: null\n };\n\n var updatedAncestorInfo = function (oldInfo, tag, instance) {\n var ancestorInfo = _assign({}, oldInfo || emptyAncestorInfo);\n var info = { tag: tag, instance: instance };\n\n if (inScopeTags.indexOf(tag) !== -1) {\n ancestorInfo.aTagInScope = null;\n ancestorInfo.buttonTagInScope = null;\n ancestorInfo.nobrTagInScope = null;\n }\n if (buttonScopeTags.indexOf(tag) !== -1) {\n ancestorInfo.pTagInButtonScope = null;\n }\n\n // See rules for 'li', 'dd', 'dt' start tags in\n // https://html.spec.whatwg.org/multipage/syntax.html#parsing-main-inbody\n if (specialTags.indexOf(tag) !== -1 && tag !== 'address' && tag !== 'div' && tag !== 'p') {\n ancestorInfo.listItemTagAutoclosing = null;\n ancestorInfo.dlItemTagAutoclosing = null;\n }\n\n ancestorInfo.current = info;\n\n if (tag === 'form') {\n ancestorInfo.formTag = info;\n }\n if (tag === 'a') {\n ancestorInfo.aTagInScope = info;\n }\n if (tag === 'button') {\n ancestorInfo.buttonTagInScope = info;\n }\n if (tag === 'nobr') {\n ancestorInfo.nobrTagInScope = info;\n }\n if (tag === 'p') {\n ancestorInfo.pTagInButtonScope = info;\n }\n if (tag === 'li') {\n ancestorInfo.listItemTagAutoclosing = info;\n }\n if (tag === 'dd' || tag === 'dt') {\n ancestorInfo.dlItemTagAutoclosing = info;\n }\n\n return ancestorInfo;\n };\n\n /**\n * Returns whether\n */\n var isTagValidWithParent = function (tag, parentTag) {\n // First, let's check if we're in an unusual parsing mode...\n switch (parentTag) {\n // https://html.spec.whatwg.org/multipage/syntax.html#parsing-main-inselect\n case 'select':\n return tag === 'option' || tag === 'optgroup' || tag === '#text';\n case 'optgroup':\n return tag === 'option' || tag === '#text';\n // Strictly speaking, seeing an <option> doesn't mean we're in a <select>\n // but\n case 'option':\n return tag === '#text';\n // https://html.spec.whatwg.org/multipage/syntax.html#parsing-main-intd\n // https://html.spec.whatwg.org/multipage/syntax.html#parsing-main-incaption\n // No special behavior since these rules fall back to \"in body\" mode for\n // all except special table nodes which cause bad parsing behavior anyway.\n\n // https://html.spec.whatwg.org/multipage/syntax.html#parsing-main-intr\n case 'tr':\n return tag === 'th' || tag === 'td' || tag === 'style' || tag === 'script' || tag === 'template';\n // https://html.spec.whatwg.org/multipage/syntax.html#parsing-main-intbody\n case 'tbody':\n case 'thead':\n case 'tfoot':\n return tag === 'tr' || tag === 'style' || tag === 'script' || tag === 'template';\n // https://html.spec.whatwg.org/multipage/syntax.html#parsing-main-incolgroup\n case 'colgroup':\n return tag === 'col' || tag === 'template';\n // https://html.spec.whatwg.org/multipage/syntax.html#parsing-main-intable\n case 'table':\n return tag === 'caption' || tag === 'colgroup' || tag === 'tbody' || tag === 'tfoot' || tag === 'thead' || tag === 'style' || tag === 'script' || tag === 'template';\n // https://html.spec.whatwg.org/multipage/syntax.html#parsing-main-inhead\n case 'head':\n return tag === 'base' || tag === 'basefont' || tag === 'bgsound' || tag === 'link' || tag === 'meta' || tag === 'title' || tag === 'noscript' || tag === 'noframes' || tag === 'style' || tag === 'script' || tag === 'template';\n // https://html.spec.whatwg.org/multipage/semantics.html#the-html-element\n case 'html':\n return tag === 'head' || tag === 'body';\n case '#document':\n return tag === 'html';\n }\n\n // Probably in the \"in body\" parsing mode, so we outlaw only tag combos\n // where the parsing rules cause implicit opens or closes to be added.\n // https://html.spec.whatwg.org/multipage/syntax.html#parsing-main-inbody\n switch (tag) {\n case 'h1':\n case 'h2':\n case 'h3':\n case 'h4':\n case 'h5':\n case 'h6':\n return parentTag !== 'h1' && parentTag !== 'h2' && parentTag !== 'h3' && parentTag !== 'h4' && parentTag !== 'h5' && parentTag !== 'h6';\n\n case 'rp':\n case 'rt':\n return impliedEndTags.indexOf(parentTag) === -1;\n\n case 'body':\n case 'caption':\n case 'col':\n case 'colgroup':\n case 'frame':\n case 'head':\n case 'html':\n case 'tbody':\n case 'td':\n case 'tfoot':\n case 'th':\n case 'thead':\n case 'tr':\n // These tags are only valid with a few parents that have special child\n // parsing rules -- if we're down here, then none of those matched and\n // so we allow it only if we don't know what the parent is, as all other\n // cases are invalid.\n return parentTag == null;\n }\n\n return true;\n };\n\n /**\n * Returns whether\n */\n var findInvalidAncestorForTag = function (tag, ancestorInfo) {\n switch (tag) {\n case 'address':\n case 'article':\n case 'aside':\n case 'blockquote':\n case 'center':\n case 'details':\n case 'dialog':\n case 'dir':\n case 'div':\n case 'dl':\n case 'fieldset':\n case 'figcaption':\n case 'figure':\n case 'footer':\n case 'header':\n case 'hgroup':\n case 'main':\n case 'menu':\n case 'nav':\n case 'ol':\n case 'p':\n case 'section':\n case 'summary':\n case 'ul':\n case 'pre':\n case 'listing':\n case 'table':\n case 'hr':\n case 'xmp':\n case 'h1':\n case 'h2':\n case 'h3':\n case 'h4':\n case 'h5':\n case 'h6':\n return ancestorInfo.pTagInButtonScope;\n\n case 'form':\n return ancestorInfo.formTag || ancestorInfo.pTagInButtonScope;\n\n case 'li':\n return ancestorInfo.listItemTagAutoclosing;\n\n case 'dd':\n case 'dt':\n return ancestorInfo.dlItemTagAutoclosing;\n\n case 'button':\n return ancestorInfo.buttonTagInScope;\n\n case 'a':\n // Spec says something about storing a list of markers, but it sounds\n // equivalent to this check.\n return ancestorInfo.aTagInScope;\n\n case 'nobr':\n return ancestorInfo.nobrTagInScope;\n }\n\n return null;\n };\n\n /**\n * Given a ReactCompositeComponent instance, return a list of its recursive\n * owners, starting at the root and ending with the instance itself.\n */\n var findOwnerStack = function (instance) {\n if (!instance) {\n return [];\n }\n\n var stack = [];\n do {\n stack.push(instance);\n } while (instance = instance._currentElement._owner);\n stack.reverse();\n return stack;\n };\n\n var didWarn = {};\n\n validateDOMNesting = function (childTag, childText, childInstance, ancestorInfo) {\n ancestorInfo = ancestorInfo || emptyAncestorInfo;\n var parentInfo = ancestorInfo.current;\n var parentTag = parentInfo && parentInfo.tag;\n\n if (childText != null) {\n process.env.NODE_ENV !== 'production' ? warning(childTag == null, 'validateDOMNesting: when childText is passed, childTag should be null') : void 0;\n childTag = '#text';\n }\n\n var invalidParent = isTagValidWithParent(childTag, parentTag) ? null : parentInfo;\n var invalidAncestor = invalidParent ? null : findInvalidAncestorForTag(childTag, ancestorInfo);\n var problematic = invalidParent || invalidAncestor;\n\n if (problematic) {\n var ancestorTag = problematic.tag;\n var ancestorInstance = problematic.instance;\n\n var childOwner = childInstance && childInstance._currentElement._owner;\n var ancestorOwner = ancestorInstance && ancestorInstance._currentElement._owner;\n\n var childOwners = findOwnerStack(childOwner);\n var ancestorOwners = findOwnerStack(ancestorOwner);\n\n var minStackLen = Math.min(childOwners.length, ancestorOwners.length);\n var i;\n\n var deepestCommon = -1;\n for (i = 0; i < minStackLen; i++) {\n if (childOwners[i] === ancestorOwners[i]) {\n deepestCommon = i;\n } else {\n break;\n }\n }\n\n var UNKNOWN = '(unknown)';\n var childOwnerNames = childOwners.slice(deepestCommon + 1).map(function (inst) {\n return inst.getName() || UNKNOWN;\n });\n var ancestorOwnerNames = ancestorOwners.slice(deepestCommon + 1).map(function (inst) {\n return inst.getName() || UNKNOWN;\n });\n var ownerInfo = [].concat(\n // If the parent and child instances have a common owner ancestor, start\n // with that -- otherwise we just start with the parent's owners.\n deepestCommon !== -1 ? childOwners[deepestCommon].getName() || UNKNOWN : [], ancestorOwnerNames, ancestorTag,\n // If we're warning about an invalid (non-parent) ancestry, add '...'\n invalidAncestor ? ['...'] : [], childOwnerNames, childTag).join(' > ');\n\n var warnKey = !!invalidParent + '|' + childTag + '|' + ancestorTag + '|' + ownerInfo;\n if (didWarn[warnKey]) {\n return;\n }\n didWarn[warnKey] = true;\n\n var tagDisplayName = childTag;\n var whitespaceInfo = '';\n if (childTag === '#text') {\n if (/\\S/.test(childText)) {\n tagDisplayName = 'Text nodes';\n } else {\n tagDisplayName = 'Whitespace text nodes';\n whitespaceInfo = \" Make sure you don't have any extra whitespace between tags on \" + 'each line of your source code.';\n }\n } else {\n tagDisplayName = '<' + childTag + '>';\n }\n\n if (invalidParent) {\n var info = '';\n if (ancestorTag === 'table' && childTag === 'tr') {\n info += ' Add a <tbody> to your code to match the DOM tree generated by ' + 'the browser.';\n }\n process.env.NODE_ENV !== 'production' ? warning(false, 'validateDOMNesting(...): %s cannot appear as a child of <%s>.%s ' + 'See %s.%s', tagDisplayName, ancestorTag, whitespaceInfo, ownerInfo, info) : void 0;\n } else {\n process.env.NODE_ENV !== 'production' ? warning(false, 'validateDOMNesting(...): %s cannot appear as a descendant of ' + '<%s>. See %s.', tagDisplayName, ancestorTag, ownerInfo) : void 0;\n }\n }\n };\n\n validateDOMNesting.updatedAncestorInfo = updatedAncestorInfo;\n\n // For testing\n validateDOMNesting.isTagValidInContext = function (tag, ancestorInfo) {\n ancestorInfo = ancestorInfo || emptyAncestorInfo;\n var parentInfo = ancestorInfo.current;\n var parentTag = parentInfo && parentInfo.tag;\n return isTagValidWithParent(tag, parentTag) && !findInvalidAncestorForTag(tag, ancestorInfo);\n };\n}\n\nmodule.exports = validateDOMNesting;","/**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n */\n\n'use strict';\n\n/**\n * `charCode` represents the actual \"character code\" and is safe to use with\n * `String.fromCharCode`. As such, only keys that correspond to printable\n * characters produce a valid `charCode`, the only exception to this is Enter.\n * The Tab-key is considered non-printable and does not have a `charCode`,\n * presumably because it does not produce a tab-character in browsers.\n *\n * @param {object} nativeEvent Native browser event.\n * @return {number} Normalized `charCode` property.\n */\n\nfunction getEventCharCode(nativeEvent) {\n var charCode;\n var keyCode = nativeEvent.keyCode;\n\n if ('charCode' in nativeEvent) {\n charCode = nativeEvent.charCode;\n\n // FF does not set `charCode` for the Enter-key, check against `keyCode`.\n if (charCode === 0 && keyCode === 13) {\n charCode = 13;\n }\n } else {\n // IE8 does not implement `charCode`, but `keyCode` has the correct value.\n charCode = keyCode;\n }\n\n // Some non-printable keys are reported in `charCode`/`keyCode`, discard them.\n // Must not discard the (non-)printable Enter-key.\n if (charCode >= 32 || charCode === 13) {\n return charCode;\n }\n\n return 0;\n}\n\nmodule.exports = getEventCharCode;","// 7.2.1 RequireObjectCoercible(argument)\nmodule.exports = function (it) {\n if (it == undefined) throw TypeError(\"Can't call method on \" + it);\n return it;\n};\n","// 7.1.4 ToInteger\nvar ceil = Math.ceil;\nvar floor = Math.floor;\nmodule.exports = function (it) {\n return isNaN(it = +it) ? 0 : (it > 0 ? floor : ceil)(it);\n};\n","var shared = require('./_shared')('keys');\nvar uid = require('./_uid');\nmodule.exports = function (key) {\n return shared[key] || (shared[key] = uid(key));\n};\n","// optional / simple context binding\nvar aFunction = require('./_a-function');\nmodule.exports = function (fn, that, length) {\n aFunction(fn);\n if (that === undefined) return fn;\n switch (length) {\n case 1: return function (a) {\n return fn.call(that, a);\n };\n case 2: return function (a, b) {\n return fn.call(that, a, b);\n };\n case 3: return function (a, b, c) {\n return fn.call(that, a, b, c);\n };\n }\n return function (/* ...args */) {\n return fn.apply(that, arguments);\n };\n};\n","exports.f = {}.propertyIsEnumerable;\n","\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\n\nexports.__esModule = true;\nexports.default = void 0;\n\nvar _inDOM = _interopRequireDefault(require(\"../util/inDOM\"));\n\nvar on = function on() {};\n\nif (_inDOM.default) {\n on = function () {\n if (document.addEventListener) return function (node, eventName, handler, capture) {\n return node.addEventListener(eventName, handler, capture || false);\n };else if (document.attachEvent) return function (node, eventName, handler) {\n return node.attachEvent('on' + eventName, function (e) {\n e = e || window.event;\n e.target = e.target || e.srcElement;\n e.currentTarget = node;\n handler.call(node, e);\n });\n };\n }();\n}\n\nvar _default = on;\nexports.default = _default;\nmodule.exports = exports[\"default\"];","\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\n\nexports.__esModule = true;\nexports.default = void 0;\n\nvar _inDOM = _interopRequireDefault(require(\"../util/inDOM\"));\n\nvar off = function off() {};\n\nif (_inDOM.default) {\n off = function () {\n if (document.addEventListener) return function (node, eventName, handler, capture) {\n return node.removeEventListener(eventName, handler, capture || false);\n };else if (document.attachEvent) return function (node, eventName, handler) {\n return node.detachEvent('on' + eventName, handler);\n };\n }();\n}\n\nvar _default = off;\nexports.default = _default;\nmodule.exports = exports[\"default\"];","'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _typeof = typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; };\n\nvar _react = require('react');\n\nvar _react2 = _interopRequireDefault(_react);\n\nvar _createChainableTypeChecker = require('./utils/createChainableTypeChecker');\n\nvar _createChainableTypeChecker2 = _interopRequireDefault(_createChainableTypeChecker);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction validate(props, propName, componentName, location, propFullName) {\n var propValue = props[propName];\n var propType = typeof propValue === 'undefined' ? 'undefined' : _typeof(propValue);\n\n if (_react2.default.isValidElement(propValue)) {\n return new Error('Invalid ' + location + ' `' + propFullName + '` of type ReactElement ' + ('supplied to `' + componentName + '`, expected a ReactComponent or a ') + 'DOMElement. You can usually obtain a ReactComponent or DOMElement ' + 'from a ReactElement by attaching a ref to it.');\n }\n\n if ((propType !== 'object' || typeof propValue.render !== 'function') && propValue.nodeType !== 1) {\n return new Error('Invalid ' + location + ' `' + propFullName + '` of value `' + propValue + '` ' + ('supplied to `' + componentName + '`, expected a ReactComponent or a ') + 'DOMElement.');\n }\n\n return null;\n}\n\nexports.default = (0, _createChainableTypeChecker2.default)(validate);\nmodule.exports = exports['default'];","'use strict';\n\nexports.__esModule = true;\nexports.default = getContainer;\n\nvar _reactDom = require('react-dom');\n\nvar _reactDom2 = _interopRequireDefault(_reactDom);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction getContainer(container, defaultContainer) {\n container = typeof container === 'function' ? container() : container;\n return _reactDom2.default.findDOMNode(container) || defaultContainer;\n}\nmodule.exports = exports['default'];","module.exports = {};\n","\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\n\nexports.__esModule = true;\nexports.default = activeElement;\n\nvar _ownerDocument = _interopRequireDefault(require(\"./ownerDocument\"));\n\nfunction activeElement(doc) {\n if (doc === void 0) {\n doc = (0, _ownerDocument.default)();\n }\n\n try {\n return doc.activeElement;\n } catch (e) {\n /* ie throws if no active element */\n }\n}\n\nmodule.exports = exports[\"default\"];","'use strict';\n\nexports.__esModule = true;\nexports.default = isOverflowing;\n\nvar _isWindow = require('dom-helpers/query/isWindow');\n\nvar _isWindow2 = _interopRequireDefault(_isWindow);\n\nvar _ownerDocument = require('dom-helpers/ownerDocument');\n\nvar _ownerDocument2 = _interopRequireDefault(_ownerDocument);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction isBody(node) {\n return node && node.tagName.toLowerCase() === 'body';\n}\n\nfunction bodyIsOverflowing(node) {\n var doc = (0, _ownerDocument2.default)(node);\n var win = (0, _isWindow2.default)(doc);\n var fullWidth = win.innerWidth;\n\n // Support: ie8, no innerWidth\n if (!fullWidth) {\n var documentElementRect = doc.documentElement.getBoundingClientRect();\n fullWidth = documentElementRect.right - Math.abs(documentElementRect.left);\n }\n\n return doc.body.clientWidth < fullWidth;\n}\n\nfunction isOverflowing(container) {\n var win = (0, _isWindow2.default)(container);\n\n return win || isBody(container) ? bodyIsOverflowing(container) : container.scrollHeight > container.clientHeight;\n}\nmodule.exports = exports['default'];","module.exports = require(\"core-js/library/fn/object/set-prototype-of\");","module.exports = require(\"core-js/library/fn/object/assign\");","\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\n\nexports.__esModule = true;\nexports.default = void 0;\n\nvar _on = _interopRequireDefault(require(\"./on\"));\n\nexports.on = _on.default;\n\nvar _off = _interopRequireDefault(require(\"./off\"));\n\nexports.off = _off.default;\n\nvar _filter = _interopRequireDefault(require(\"./filter\"));\n\nexports.filter = _filter.default;\n\nvar _listen = _interopRequireDefault(require(\"./listen\"));\n\nexports.listen = _listen.default;\nvar _default = {\n on: _on.default,\n off: _off.default,\n filter: _filter.default,\n listen: _listen.default\n};\nexports.default = _default;","/**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n */\n\n'use strict';\n\nvar _prodInvariant = require('./reactProdInvariant'),\n _assign = require('object-assign');\n\nvar ReactNoopUpdateQueue = require('./ReactNoopUpdateQueue');\n\nvar canDefineProperty = require('./canDefineProperty');\nvar emptyObject = require('fbjs/lib/emptyObject');\nvar invariant = require('fbjs/lib/invariant');\nvar lowPriorityWarning = require('./lowPriorityWarning');\n\n/**\n * Base class helpers for the updating state of a component.\n */\nfunction ReactComponent(props, context, updater) {\n this.props = props;\n this.context = context;\n this.refs = emptyObject;\n // We initialize the default updater but the real one gets injected by the\n // renderer.\n this.updater = updater || ReactNoopUpdateQueue;\n}\n\nReactComponent.prototype.isReactComponent = {};\n\n/**\n * Sets a subset of the state. Always use this to mutate\n * state. You should treat `this.state` as immutable.\n *\n * There is no guarantee that `this.state` will be immediately updated, so\n * accessing `this.state` after calling this method may return the old value.\n *\n * There is no guarantee that calls to `setState` will run synchronously,\n * as they may eventually be batched together. You can provide an optional\n * callback that will be executed when the call to setState is actually\n * completed.\n *\n * When a function is provided to setState, it will be called at some point in\n * the future (not synchronously). It will be called with the up to date\n * component arguments (state, props, context). These values can be different\n * from this.* because your function may be called after receiveProps but before\n * shouldComponentUpdate, and this new state, props, and context will not yet be\n * assigned to this.\n *\n * @param {object|function} partialState Next partial state or function to\n * produce next partial state to be merged with current state.\n * @param {?function} callback Called after state is updated.\n * @final\n * @protected\n */\nReactComponent.prototype.setState = function (partialState, callback) {\n !(typeof partialState === 'object' || typeof partialState === 'function' || partialState == null) ? process.env.NODE_ENV !== 'production' ? invariant(false, 'setState(...): takes an object of state variables to update or a function which returns an object of state variables.') : _prodInvariant('85') : void 0;\n this.updater.enqueueSetState(this, partialState);\n if (callback) {\n this.updater.enqueueCallback(this, callback, 'setState');\n }\n};\n\n/**\n * Forces an update. This should only be invoked when it is known with\n * certainty that we are **not** in a DOM transaction.\n *\n * You may want to call this when you know that some deeper aspect of the\n * component's state has changed but `setState` was not called.\n *\n * This will not invoke `shouldComponentUpdate`, but it will invoke\n * `componentWillUpdate` and `componentDidUpdate`.\n *\n * @param {?function} callback Called after update is complete.\n * @final\n * @protected\n */\nReactComponent.prototype.forceUpdate = function (callback) {\n this.updater.enqueueForceUpdate(this);\n if (callback) {\n this.updater.enqueueCallback(this, callback, 'forceUpdate');\n }\n};\n\n/**\n * Deprecated APIs. These APIs used to exist on classic React classes but since\n * we would like to deprecate them, we're not going to move them over to this\n * modern base class. Instead, we define a getter that warns if it's accessed.\n */\nif (process.env.NODE_ENV !== 'production') {\n var deprecatedAPIs = {\n isMounted: ['isMounted', 'Instead, make sure to clean up subscriptions and pending requests in ' + 'componentWillUnmount to prevent memory leaks.'],\n replaceState: ['replaceState', 'Refactor your code to use setState instead (see ' + 'https://github.com/facebook/react/issues/3236).']\n };\n var defineDeprecationWarning = function (methodName, info) {\n if (canDefineProperty) {\n Object.defineProperty(ReactComponent.prototype, methodName, {\n get: function () {\n lowPriorityWarning(false, '%s(...) is deprecated in plain JavaScript React classes. %s', info[0], info[1]);\n return undefined;\n }\n });\n }\n };\n for (var fnName in deprecatedAPIs) {\n if (deprecatedAPIs.hasOwnProperty(fnName)) {\n defineDeprecationWarning(fnName, deprecatedAPIs[fnName]);\n }\n }\n}\n\n/**\n * Base class helpers for the updating state of a component.\n */\nfunction ReactPureComponent(props, context, updater) {\n // Duplicated from ReactComponent.\n this.props = props;\n this.context = context;\n this.refs = emptyObject;\n // We initialize the default updater but the real one gets injected by the\n // renderer.\n this.updater = updater || ReactNoopUpdateQueue;\n}\n\nfunction ComponentDummy() {}\nComponentDummy.prototype = ReactComponent.prototype;\nReactPureComponent.prototype = new ComponentDummy();\nReactPureComponent.prototype.constructor = ReactPureComponent;\n// Avoid an extra prototype jump for these methods.\n_assign(ReactPureComponent.prototype, ReactComponent.prototype);\nReactPureComponent.prototype.isPureReactComponent = true;\n\nmodule.exports = {\n Component: ReactComponent,\n PureComponent: ReactPureComponent\n};","/**\n * Copyright (c) 2015-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n */\n\n'use strict';\n\nvar warning = require('fbjs/lib/warning');\n\nfunction warnNoop(publicInstance, callerName) {\n if (process.env.NODE_ENV !== 'production') {\n var constructor = publicInstance.constructor;\n process.env.NODE_ENV !== 'production' ? warning(false, '%s(...): Can only update a mounted or mounting component. ' + 'This usually means you called %s() on an unmounted component. ' + 'This is a no-op. Please check the code for the %s component.', callerName, callerName, constructor && (constructor.displayName || constructor.name) || 'ReactClass') : void 0;\n }\n}\n\n/**\n * This is the abstract API for an update queue.\n */\nvar ReactNoopUpdateQueue = {\n /**\n * Checks whether or not this composite component is mounted.\n * @param {ReactClass} publicInstance The instance we want to test.\n * @return {boolean} True if mounted, false otherwise.\n * @protected\n * @final\n */\n isMounted: function (publicInstance) {\n return false;\n },\n\n /**\n * Enqueue a callback that will be executed after all the pending updates\n * have processed.\n *\n * @param {ReactClass} publicInstance The instance to use as `this` context.\n * @param {?function} callback Called after state is updated.\n * @internal\n */\n enqueueCallback: function (publicInstance, callback) {},\n\n /**\n * Forces an update. This should only be invoked when it is known with\n * certainty that we are **not** in a DOM transaction.\n *\n * You may want to call this when you know that some deeper aspect of the\n * component's state has changed but `setState` was not called.\n *\n * This will not invoke `shouldComponentUpdate`, but it will invoke\n * `componentWillUpdate` and `componentDidUpdate`.\n *\n * @param {ReactClass} publicInstance The instance that should rerender.\n * @internal\n */\n enqueueForceUpdate: function (publicInstance) {\n warnNoop(publicInstance, 'forceUpdate');\n },\n\n /**\n * Replaces all of the state. Always use this or `setState` to mutate state.\n * You should treat `this.state` as immutable.\n *\n * There is no guarantee that `this.state` will be immediately updated, so\n * accessing `this.state` after calling this method may return the old value.\n *\n * @param {ReactClass} publicInstance The instance that should rerender.\n * @param {object} completeState Next state.\n * @internal\n */\n enqueueReplaceState: function (publicInstance, completeState) {\n warnNoop(publicInstance, 'replaceState');\n },\n\n /**\n * Sets a subset of the state. This only exists because _pendingState is\n * internal. This provides a merging strategy that is not available to deep\n * properties which is confusing. TODO: Expose pendingState or don't use it\n * during the merge.\n *\n * @param {ReactClass} publicInstance The instance that should rerender.\n * @param {object} partialState Next partial state to be merged with state.\n * @internal\n */\n enqueueSetState: function (publicInstance, partialState) {\n warnNoop(publicInstance, 'setState');\n }\n};\n\nmodule.exports = ReactNoopUpdateQueue;","/**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * \n */\n\n'use strict';\n\nvar canDefineProperty = false;\nif (process.env.NODE_ENV !== 'production') {\n try {\n // $FlowFixMe https://github.com/facebook/flow/issues/285\n Object.defineProperty({}, 'x', { get: function () {} });\n canDefineProperty = true;\n } catch (x) {\n // IE will fail on defineProperty\n }\n}\n\nmodule.exports = canDefineProperty;","/**\n * Copyright (c) 2014-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * \n */\n\n'use strict';\n\n// The Symbol used to tag the ReactElement type. If there is no native Symbol\n// nor polyfill, then a plain number is used for performance.\n\nvar REACT_ELEMENT_TYPE = typeof Symbol === 'function' && Symbol['for'] && Symbol['for']('react.element') || 0xeac7;\n\nmodule.exports = REACT_ELEMENT_TYPE;","/**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n'use strict';\n\n// React 15.5 references this module, and assumes PropTypes are still callable in production.\n// Therefore we re-export development-only version with all the PropTypes checks here.\n// However if one is migrating to the `prop-types` npm library, they will go through the\n// `index.js` entry point, and it will branch depending on the environment.\nvar factory = require('./factoryWithTypeCheckers');\nmodule.exports = function(isValidElement) {\n // It is still allowed in 15.5.\n var throwOnDirectAccess = false;\n return factory(isValidElement, throwOnDirectAccess);\n};\n","'use strict';\n\nif (process.env.NODE_ENV === 'production') {\n module.exports = require('./cjs/react-is.production.min.js');\n} else {\n module.exports = require('./cjs/react-is.development.js');\n}\n","/**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n'use strict';\n\nvar ReactPropTypesSecret = 'SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED';\n\nmodule.exports = ReactPropTypesSecret;\n","/**\n * Copyright (c) 2015-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n */\n\n'use strict';\n\nvar ReactDOMComponentFlags = {\n hasCachedChildNodes: 1 << 0\n};\n\nmodule.exports = ReactDOMComponentFlags;","/**\n * Copyright (c) 2014-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * \n */\n\n'use strict';\n\nvar _prodInvariant = require('./reactProdInvariant');\n\nvar invariant = require('fbjs/lib/invariant');\n\n/**\n * Accumulates items that must not be null or undefined into the first one. This\n * is used to conserve memory by avoiding array allocations, and thus sacrifices\n * API cleanness. Since `current` can be null before being passed in and not\n * null after this function, make sure to assign it back to `current`:\n *\n * `a = accumulateInto(a, b);`\n *\n * This API should be sparingly used. Try `accumulate` for something cleaner.\n *\n * @return {*|array<*>} An accumulation of items.\n */\n\nfunction accumulateInto(current, next) {\n !(next != null) ? process.env.NODE_ENV !== 'production' ? invariant(false, 'accumulateInto(...): Accumulated items must not be null or undefined.') : _prodInvariant('30') : void 0;\n\n if (current == null) {\n return next;\n }\n\n // Both are not empty. Warning: Never call x.concat(y) when you are not\n // certain that x is an Array (x could be a string with concat method).\n if (Array.isArray(current)) {\n if (Array.isArray(next)) {\n current.push.apply(current, next);\n return current;\n }\n current.push(next);\n return current;\n }\n\n if (Array.isArray(next)) {\n // A bit too dangerous to mutate `next`.\n return [current].concat(next);\n }\n\n return [current, next];\n}\n\nmodule.exports = accumulateInto;","/**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * \n */\n\n'use strict';\n\n/**\n * @param {array} arr an \"accumulation\" of items which is either an Array or\n * a single item. Useful when paired with the `accumulate` module. This is a\n * simple utility that allows us to reason about a collection of items, but\n * handling the case when there is exactly one item (and we do not need to\n * allocate an array).\n */\n\nfunction forEachAccumulated(arr, cb, scope) {\n if (Array.isArray(arr)) {\n arr.forEach(cb, scope);\n } else if (arr) {\n cb.call(scope, arr);\n }\n}\n\nmodule.exports = forEachAccumulated;","/**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n */\n\n'use strict';\n\nvar ExecutionEnvironment = require('fbjs/lib/ExecutionEnvironment');\n\nvar contentKey = null;\n\n/**\n * Gets the key used to access text content on a DOM node.\n *\n * @return {?string} Key used to access text content.\n * @internal\n */\nfunction getTextContentAccessor() {\n if (!contentKey && ExecutionEnvironment.canUseDOM) {\n // Prefer textContent to innerText because many browsers support both but\n // SVG <text> elements don't support innerText even when <div> does.\n contentKey = 'textContent' in document.documentElement ? 'textContent' : 'innerText';\n }\n return contentKey;\n}\n\nmodule.exports = getTextContentAccessor;","/**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * \n */\n\n'use strict';\n\nvar _prodInvariant = require('./reactProdInvariant');\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nvar PooledClass = require('./PooledClass');\n\nvar invariant = require('fbjs/lib/invariant');\n\n/**\n * A specialized pseudo-event module to help keep track of components waiting to\n * be notified when their DOM representations are available for use.\n *\n * This implements `PooledClass`, so you should never need to instantiate this.\n * Instead, use `CallbackQueue.getPooled()`.\n *\n * @class ReactMountReady\n * @implements PooledClass\n * @internal\n */\n\nvar CallbackQueue = function () {\n function CallbackQueue(arg) {\n _classCallCheck(this, CallbackQueue);\n\n this._callbacks = null;\n this._contexts = null;\n this._arg = arg;\n }\n\n /**\n * Enqueues a callback to be invoked when `notifyAll` is invoked.\n *\n * @param {function} callback Invoked when `notifyAll` is invoked.\n * @param {?object} context Context to call `callback` with.\n * @internal\n */\n\n\n CallbackQueue.prototype.enqueue = function enqueue(callback, context) {\n this._callbacks = this._callbacks || [];\n this._callbacks.push(callback);\n this._contexts = this._contexts || [];\n this._contexts.push(context);\n };\n\n /**\n * Invokes all enqueued callbacks and clears the queue. This is invoked after\n * the DOM representation of a component has been created or updated.\n *\n * @internal\n */\n\n\n CallbackQueue.prototype.notifyAll = function notifyAll() {\n var callbacks = this._callbacks;\n var contexts = this._contexts;\n var arg = this._arg;\n if (callbacks && contexts) {\n !(callbacks.length === contexts.length) ? process.env.NODE_ENV !== 'production' ? invariant(false, 'Mismatched list of contexts in callback queue') : _prodInvariant('24') : void 0;\n this._callbacks = null;\n this._contexts = null;\n for (var i = 0; i < callbacks.length; i++) {\n callbacks[i].call(contexts[i], arg);\n }\n callbacks.length = 0;\n contexts.length = 0;\n }\n };\n\n CallbackQueue.prototype.checkpoint = function checkpoint() {\n return this._callbacks ? this._callbacks.length : 0;\n };\n\n CallbackQueue.prototype.rollback = function rollback(len) {\n if (this._callbacks && this._contexts) {\n this._callbacks.length = len;\n this._contexts.length = len;\n }\n };\n\n /**\n * Resets the internal queue.\n *\n * @internal\n */\n\n\n CallbackQueue.prototype.reset = function reset() {\n this._callbacks = null;\n this._contexts = null;\n };\n\n /**\n * `PooledClass` looks for this.\n */\n\n\n CallbackQueue.prototype.destructor = function destructor() {\n this.reset();\n };\n\n return CallbackQueue;\n}();\n\nmodule.exports = PooledClass.addPoolingTo(CallbackQueue);","/**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * \n */\n\n'use strict';\n\nvar ReactFeatureFlags = {\n // When true, call console.time() before and .timeEnd() after each top-level\n // render (both initial renders and updates). Useful when looking at prod-mode\n // timeline profiles in Chrome, for example.\n logTopLevelRenders: false\n};\n\nmodule.exports = ReactFeatureFlags;","/**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n */\n\n'use strict';\n\nvar ReactDOMComponentTree = require('./ReactDOMComponentTree');\n\nfunction isCheckable(elem) {\n var type = elem.type;\n var nodeName = elem.nodeName;\n return nodeName && nodeName.toLowerCase() === 'input' && (type === 'checkbox' || type === 'radio');\n}\n\nfunction getTracker(inst) {\n return inst._wrapperState.valueTracker;\n}\n\nfunction attachTracker(inst, tracker) {\n inst._wrapperState.valueTracker = tracker;\n}\n\nfunction detachTracker(inst) {\n inst._wrapperState.valueTracker = null;\n}\n\nfunction getValueFromNode(node) {\n var value;\n if (node) {\n value = isCheckable(node) ? '' + node.checked : node.value;\n }\n return value;\n}\n\nvar inputValueTracking = {\n // exposed for testing\n _getTrackerFromNode: function (node) {\n return getTracker(ReactDOMComponentTree.getInstanceFromNode(node));\n },\n\n\n track: function (inst) {\n if (getTracker(inst)) {\n return;\n }\n\n var node = ReactDOMComponentTree.getNodeFromInstance(inst);\n var valueField = isCheckable(node) ? 'checked' : 'value';\n var descriptor = Object.getOwnPropertyDescriptor(node.constructor.prototype, valueField);\n\n var currentValue = '' + node[valueField];\n\n // if someone has already defined a value or Safari, then bail\n // and don't track value will cause over reporting of changes,\n // but it's better then a hard failure\n // (needed for certain tests that spyOn input values and Safari)\n if (node.hasOwnProperty(valueField) || typeof descriptor.get !== 'function' || typeof descriptor.set !== 'function') {\n return;\n }\n\n Object.defineProperty(node, valueField, {\n enumerable: descriptor.enumerable,\n configurable: true,\n get: function () {\n return descriptor.get.call(this);\n },\n set: function (value) {\n currentValue = '' + value;\n descriptor.set.call(this, value);\n }\n });\n\n attachTracker(inst, {\n getValue: function () {\n return currentValue;\n },\n setValue: function (value) {\n currentValue = '' + value;\n },\n stopTracking: function () {\n detachTracker(inst);\n delete node[valueField];\n }\n });\n },\n\n updateValueIfChanged: function (inst) {\n if (!inst) {\n return false;\n }\n var tracker = getTracker(inst);\n\n if (!tracker) {\n inputValueTracking.track(inst);\n return true;\n }\n\n var lastValue = tracker.getValue();\n var nextValue = getValueFromNode(ReactDOMComponentTree.getNodeFromInstance(inst));\n\n if (nextValue !== lastValue) {\n tracker.setValue(nextValue);\n return true;\n }\n\n return false;\n },\n stopTracking: function (inst) {\n var tracker = getTracker(inst);\n if (tracker) {\n tracker.stopTracking();\n }\n }\n};\n\nmodule.exports = inputValueTracking;","/**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * \n */\n\n'use strict';\n\n/**\n * @see http://www.whatwg.org/specs/web-apps/current-work/multipage/the-input-element.html#input-type-attr-summary\n */\n\nvar supportedInputTypes = {\n color: true,\n date: true,\n datetime: true,\n 'datetime-local': true,\n email: true,\n month: true,\n number: true,\n password: true,\n range: true,\n search: true,\n tel: true,\n text: true,\n time: true,\n url: true,\n week: true\n};\n\nfunction isTextInputElement(elem) {\n var nodeName = elem && elem.nodeName && elem.nodeName.toLowerCase();\n\n if (nodeName === 'input') {\n return !!supportedInputTypes[elem.type];\n }\n\n if (nodeName === 'textarea') {\n return true;\n }\n\n return false;\n}\n\nmodule.exports = isTextInputElement;","/**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n */\n\n'use strict';\n\nvar ViewportMetrics = {\n currentScrollLeft: 0,\n\n currentScrollTop: 0,\n\n refreshScrollValues: function (scrollPosition) {\n ViewportMetrics.currentScrollLeft = scrollPosition.x;\n ViewportMetrics.currentScrollTop = scrollPosition.y;\n }\n};\n\nmodule.exports = ViewportMetrics;","/**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n */\n\n'use strict';\n\nvar ExecutionEnvironment = require('fbjs/lib/ExecutionEnvironment');\nvar escapeTextContentForBrowser = require('./escapeTextContentForBrowser');\nvar setInnerHTML = require('./setInnerHTML');\n\n/**\n * Set the textContent property of a node, ensuring that whitespace is preserved\n * even in IE8. innerText is a poor substitute for textContent and, among many\n * issues, inserts <br> instead of the literal newline chars. innerHTML behaves\n * as it should.\n *\n * @param {DOMElement} node\n * @param {string} text\n * @internal\n */\nvar setTextContent = function (node, text) {\n if (text) {\n var firstChild = node.firstChild;\n\n if (firstChild && firstChild === node.lastChild && firstChild.nodeType === 3) {\n firstChild.nodeValue = text;\n return;\n }\n }\n node.textContent = text;\n};\n\nif (ExecutionEnvironment.canUseDOM) {\n if (!('textContent' in document.documentElement)) {\n setTextContent = function (node, text) {\n if (node.nodeType === 3) {\n node.nodeValue = text;\n return;\n }\n setInnerHTML(node, escapeTextContentForBrowser(text));\n };\n }\n}\n\nmodule.exports = setTextContent;","/**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n */\n\n'use strict';\n\n/**\n * @param {DOMElement} node input/textarea to focus\n */\n\nfunction focusNode(node) {\n // IE8 can throw \"Can't move focus to the control because it is invisible,\n // not enabled, or of a type that does not accept the focus.\" for all kinds of\n // reasons that are too expensive and fragile to test.\n try {\n node.focus();\n } catch (e) {}\n}\n\nmodule.exports = focusNode;","/**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n */\n\n'use strict';\n\n/**\n * CSS properties which accept numbers but are not in units of \"px\".\n */\n\nvar isUnitlessNumber = {\n animationIterationCount: true,\n borderImageOutset: true,\n borderImageSlice: true,\n borderImageWidth: true,\n boxFlex: true,\n boxFlexGroup: true,\n boxOrdinalGroup: true,\n columnCount: true,\n columns: true,\n flex: true,\n flexGrow: true,\n flexPositive: true,\n flexShrink: true,\n flexNegative: true,\n flexOrder: true,\n gridRow: true,\n gridRowEnd: true,\n gridRowSpan: true,\n gridRowStart: true,\n gridColumn: true,\n gridColumnEnd: true,\n gridColumnSpan: true,\n gridColumnStart: true,\n fontWeight: true,\n lineClamp: true,\n lineHeight: true,\n opacity: true,\n order: true,\n orphans: true,\n tabSize: true,\n widows: true,\n zIndex: true,\n zoom: true,\n\n // SVG-related properties\n fillOpacity: true,\n floodOpacity: true,\n stopOpacity: true,\n strokeDasharray: true,\n strokeDashoffset: true,\n strokeMiterlimit: true,\n strokeOpacity: true,\n strokeWidth: true\n};\n\n/**\n * @param {string} prefix vendor-specific prefix, eg: Webkit\n * @param {string} key style name, eg: transitionDuration\n * @return {string} style name prefixed with `prefix`, properly camelCased, eg:\n * WebkitTransitionDuration\n */\nfunction prefixKey(prefix, key) {\n return prefix + key.charAt(0).toUpperCase() + key.substring(1);\n}\n\n/**\n * Support style names that may come passed in prefixed by adding permutations\n * of vendor prefixes.\n */\nvar prefixes = ['Webkit', 'ms', 'Moz', 'O'];\n\n// Using Object.keys here, or else the vanilla for-in loop makes IE8 go into an\n// infinite loop, because it iterates over the newly added props too.\nObject.keys(isUnitlessNumber).forEach(function (prop) {\n prefixes.forEach(function (prefix) {\n isUnitlessNumber[prefixKey(prefix, prop)] = isUnitlessNumber[prop];\n });\n});\n\n/**\n * Most style properties can be unset by doing .style[prop] = '' but IE8\n * doesn't like doing that with shorthand properties so for the properties that\n * IE8 breaks on, which are listed here, we instead unset each of the\n * individual properties. See http://bugs.jquery.com/ticket/12385.\n * The 4-value 'clock' properties like margin, padding, border-width seem to\n * behave without any problems. Curiously, list-style works too without any\n * special prodding.\n */\nvar shorthandPropertyExpansions = {\n background: {\n backgroundAttachment: true,\n backgroundColor: true,\n backgroundImage: true,\n backgroundPositionX: true,\n backgroundPositionY: true,\n backgroundRepeat: true\n },\n backgroundPosition: {\n backgroundPositionX: true,\n backgroundPositionY: true\n },\n border: {\n borderWidth: true,\n borderStyle: true,\n borderColor: true\n },\n borderBottom: {\n borderBottomWidth: true,\n borderBottomStyle: true,\n borderBottomColor: true\n },\n borderLeft: {\n borderLeftWidth: true,\n borderLeftStyle: true,\n borderLeftColor: true\n },\n borderRight: {\n borderRightWidth: true,\n borderRightStyle: true,\n borderRightColor: true\n },\n borderTop: {\n borderTopWidth: true,\n borderTopStyle: true,\n borderTopColor: true\n },\n font: {\n fontStyle: true,\n fontVariant: true,\n fontWeight: true,\n fontSize: true,\n lineHeight: true,\n fontFamily: true\n },\n outline: {\n outlineWidth: true,\n outlineStyle: true,\n outlineColor: true\n }\n};\n\nvar CSSProperty = {\n isUnitlessNumber: isUnitlessNumber,\n shorthandPropertyExpansions: shorthandPropertyExpansions\n};\n\nmodule.exports = CSSProperty;","/**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n */\n\n'use strict';\n\nvar DOMProperty = require('./DOMProperty');\nvar ReactDOMComponentTree = require('./ReactDOMComponentTree');\nvar ReactInstrumentation = require('./ReactInstrumentation');\n\nvar quoteAttributeValueForBrowser = require('./quoteAttributeValueForBrowser');\nvar warning = require('fbjs/lib/warning');\n\nvar VALID_ATTRIBUTE_NAME_REGEX = new RegExp('^[' + DOMProperty.ATTRIBUTE_NAME_START_CHAR + '][' + DOMProperty.ATTRIBUTE_NAME_CHAR + ']*$');\nvar illegalAttributeNameCache = {};\nvar validatedAttributeNameCache = {};\n\nfunction isAttributeNameSafe(attributeName) {\n if (validatedAttributeNameCache.hasOwnProperty(attributeName)) {\n return true;\n }\n if (illegalAttributeNameCache.hasOwnProperty(attributeName)) {\n return false;\n }\n if (VALID_ATTRIBUTE_NAME_REGEX.test(attributeName)) {\n validatedAttributeNameCache[attributeName] = true;\n return true;\n }\n illegalAttributeNameCache[attributeName] = true;\n process.env.NODE_ENV !== 'production' ? warning(false, 'Invalid attribute name: `%s`', attributeName) : void 0;\n return false;\n}\n\nfunction shouldIgnoreValue(propertyInfo, value) {\n return value == null || propertyInfo.hasBooleanValue && !value || propertyInfo.hasNumericValue && isNaN(value) || propertyInfo.hasPositiveNumericValue && value < 1 || propertyInfo.hasOverloadedBooleanValue && value === false;\n}\n\n/**\n * Operations for dealing with DOM properties.\n */\nvar DOMPropertyOperations = {\n /**\n * Creates markup for the ID property.\n *\n * @param {string} id Unescaped ID.\n * @return {string} Markup string.\n */\n createMarkupForID: function (id) {\n return DOMProperty.ID_ATTRIBUTE_NAME + '=' + quoteAttributeValueForBrowser(id);\n },\n\n setAttributeForID: function (node, id) {\n node.setAttribute(DOMProperty.ID_ATTRIBUTE_NAME, id);\n },\n\n createMarkupForRoot: function () {\n return DOMProperty.ROOT_ATTRIBUTE_NAME + '=\"\"';\n },\n\n setAttributeForRoot: function (node) {\n node.setAttribute(DOMProperty.ROOT_ATTRIBUTE_NAME, '');\n },\n\n /**\n * Creates markup for a property.\n *\n * @param {string} name\n * @param {*} value\n * @return {?string} Markup string, or null if the property was invalid.\n */\n createMarkupForProperty: function (name, value) {\n var propertyInfo = DOMProperty.properties.hasOwnProperty(name) ? DOMProperty.properties[name] : null;\n if (propertyInfo) {\n if (shouldIgnoreValue(propertyInfo, value)) {\n return '';\n }\n var attributeName = propertyInfo.attributeName;\n if (propertyInfo.hasBooleanValue || propertyInfo.hasOverloadedBooleanValue && value === true) {\n return attributeName + '=\"\"';\n }\n return attributeName + '=' + quoteAttributeValueForBrowser(value);\n } else if (DOMProperty.isCustomAttribute(name)) {\n if (value == null) {\n return '';\n }\n return name + '=' + quoteAttributeValueForBrowser(value);\n }\n return null;\n },\n\n /**\n * Creates markup for a custom property.\n *\n * @param {string} name\n * @param {*} value\n * @return {string} Markup string, or empty string if the property was invalid.\n */\n createMarkupForCustomAttribute: function (name, value) {\n if (!isAttributeNameSafe(name) || value == null) {\n return '';\n }\n return name + '=' + quoteAttributeValueForBrowser(value);\n },\n\n /**\n * Sets the value for a property on a node.\n *\n * @param {DOMElement} node\n * @param {string} name\n * @param {*} value\n */\n setValueForProperty: function (node, name, value) {\n var propertyInfo = DOMProperty.properties.hasOwnProperty(name) ? DOMProperty.properties[name] : null;\n if (propertyInfo) {\n var mutationMethod = propertyInfo.mutationMethod;\n if (mutationMethod) {\n mutationMethod(node, value);\n } else if (shouldIgnoreValue(propertyInfo, value)) {\n this.deleteValueForProperty(node, name);\n return;\n } else if (propertyInfo.mustUseProperty) {\n // Contrary to `setAttribute`, object properties are properly\n // `toString`ed by IE8/9.\n node[propertyInfo.propertyName] = value;\n } else {\n var attributeName = propertyInfo.attributeName;\n var namespace = propertyInfo.attributeNamespace;\n // `setAttribute` with objects becomes only `[object]` in IE8/9,\n // ('' + value) makes it output the correct toString()-value.\n if (namespace) {\n node.setAttributeNS(namespace, attributeName, '' + value);\n } else if (propertyInfo.hasBooleanValue || propertyInfo.hasOverloadedBooleanValue && value === true) {\n node.setAttribute(attributeName, '');\n } else {\n node.setAttribute(attributeName, '' + value);\n }\n }\n } else if (DOMProperty.isCustomAttribute(name)) {\n DOMPropertyOperations.setValueForAttribute(node, name, value);\n return;\n }\n\n if (process.env.NODE_ENV !== 'production') {\n var payload = {};\n payload[name] = value;\n ReactInstrumentation.debugTool.onHostOperation({\n instanceID: ReactDOMComponentTree.getInstanceFromNode(node)._debugID,\n type: 'update attribute',\n payload: payload\n });\n }\n },\n\n setValueForAttribute: function (node, name, value) {\n if (!isAttributeNameSafe(name)) {\n return;\n }\n if (value == null) {\n node.removeAttribute(name);\n } else {\n node.setAttribute(name, '' + value);\n }\n\n if (process.env.NODE_ENV !== 'production') {\n var payload = {};\n payload[name] = value;\n ReactInstrumentation.debugTool.onHostOperation({\n instanceID: ReactDOMComponentTree.getInstanceFromNode(node)._debugID,\n type: 'update attribute',\n payload: payload\n });\n }\n },\n\n /**\n * Deletes an attributes from a node.\n *\n * @param {DOMElement} node\n * @param {string} name\n */\n deleteValueForAttribute: function (node, name) {\n node.removeAttribute(name);\n if (process.env.NODE_ENV !== 'production') {\n ReactInstrumentation.debugTool.onHostOperation({\n instanceID: ReactDOMComponentTree.getInstanceFromNode(node)._debugID,\n type: 'remove attribute',\n payload: name\n });\n }\n },\n\n /**\n * Deletes the value for a property on a node.\n *\n * @param {DOMElement} node\n * @param {string} name\n */\n deleteValueForProperty: function (node, name) {\n var propertyInfo = DOMProperty.properties.hasOwnProperty(name) ? DOMProperty.properties[name] : null;\n if (propertyInfo) {\n var mutationMethod = propertyInfo.mutationMethod;\n if (mutationMethod) {\n mutationMethod(node, undefined);\n } else if (propertyInfo.mustUseProperty) {\n var propName = propertyInfo.propertyName;\n if (propertyInfo.hasBooleanValue) {\n node[propName] = false;\n } else {\n node[propName] = '';\n }\n } else {\n node.removeAttribute(propertyInfo.attributeName);\n }\n } else if (DOMProperty.isCustomAttribute(name)) {\n node.removeAttribute(name);\n }\n\n if (process.env.NODE_ENV !== 'production') {\n ReactInstrumentation.debugTool.onHostOperation({\n instanceID: ReactDOMComponentTree.getInstanceFromNode(node)._debugID,\n type: 'remove attribute',\n payload: name\n });\n }\n }\n};\n\nmodule.exports = DOMPropertyOperations;","/**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n */\n\n'use strict';\n\nvar _assign = require('object-assign');\n\nvar LinkedValueUtils = require('./LinkedValueUtils');\nvar ReactDOMComponentTree = require('./ReactDOMComponentTree');\nvar ReactUpdates = require('./ReactUpdates');\n\nvar warning = require('fbjs/lib/warning');\n\nvar didWarnValueLink = false;\nvar didWarnValueDefaultValue = false;\n\nfunction updateOptionsIfPendingUpdateAndMounted() {\n if (this._rootNodeID && this._wrapperState.pendingUpdate) {\n this._wrapperState.pendingUpdate = false;\n\n var props = this._currentElement.props;\n var value = LinkedValueUtils.getValue(props);\n\n if (value != null) {\n updateOptions(this, Boolean(props.multiple), value);\n }\n }\n}\n\nfunction getDeclarationErrorAddendum(owner) {\n if (owner) {\n var name = owner.getName();\n if (name) {\n return ' Check the render method of `' + name + '`.';\n }\n }\n return '';\n}\n\nvar valuePropNames = ['value', 'defaultValue'];\n\n/**\n * Validation function for `value` and `defaultValue`.\n * @private\n */\nfunction checkSelectPropTypes(inst, props) {\n var owner = inst._currentElement._owner;\n LinkedValueUtils.checkPropTypes('select', props, owner);\n\n if (props.valueLink !== undefined && !didWarnValueLink) {\n process.env.NODE_ENV !== 'production' ? warning(false, '`valueLink` prop on `select` is deprecated; set `value` and `onChange` instead.') : void 0;\n didWarnValueLink = true;\n }\n\n for (var i = 0; i < valuePropNames.length; i++) {\n var propName = valuePropNames[i];\n if (props[propName] == null) {\n continue;\n }\n var isArray = Array.isArray(props[propName]);\n if (props.multiple && !isArray) {\n process.env.NODE_ENV !== 'production' ? warning(false, 'The `%s` prop supplied to <select> must be an array if ' + '`multiple` is true.%s', propName, getDeclarationErrorAddendum(owner)) : void 0;\n } else if (!props.multiple && isArray) {\n process.env.NODE_ENV !== 'production' ? warning(false, 'The `%s` prop supplied to <select> must be a scalar ' + 'value if `multiple` is false.%s', propName, getDeclarationErrorAddendum(owner)) : void 0;\n }\n }\n}\n\n/**\n * @param {ReactDOMComponent} inst\n * @param {boolean} multiple\n * @param {*} propValue A stringable (with `multiple`, a list of stringables).\n * @private\n */\nfunction updateOptions(inst, multiple, propValue) {\n var selectedValue, i;\n var options = ReactDOMComponentTree.getNodeFromInstance(inst).options;\n\n if (multiple) {\n selectedValue = {};\n for (i = 0; i < propValue.length; i++) {\n selectedValue['' + propValue[i]] = true;\n }\n for (i = 0; i < options.length; i++) {\n var selected = selectedValue.hasOwnProperty(options[i].value);\n if (options[i].selected !== selected) {\n options[i].selected = selected;\n }\n }\n } else {\n // Do not set `select.value` as exact behavior isn't consistent across all\n // browsers for all cases.\n selectedValue = '' + propValue;\n for (i = 0; i < options.length; i++) {\n if (options[i].value === selectedValue) {\n options[i].selected = true;\n return;\n }\n }\n if (options.length) {\n options[0].selected = true;\n }\n }\n}\n\n/**\n * Implements a <select> host component that allows optionally setting the\n * props `value` and `defaultValue`. If `multiple` is false, the prop must be a\n * stringable. If `multiple` is true, the prop must be an array of stringables.\n *\n * If `value` is not supplied (or null/undefined), user actions that change the\n * selected option will trigger updates to the rendered options.\n *\n * If it is supplied (and not null/undefined), the rendered options will not\n * update in response to user actions. Instead, the `value` prop must change in\n * order for the rendered options to update.\n *\n * If `defaultValue` is provided, any options with the supplied values will be\n * selected.\n */\nvar ReactDOMSelect = {\n getHostProps: function (inst, props) {\n return _assign({}, props, {\n onChange: inst._wrapperState.onChange,\n value: undefined\n });\n },\n\n mountWrapper: function (inst, props) {\n if (process.env.NODE_ENV !== 'production') {\n checkSelectPropTypes(inst, props);\n }\n\n var value = LinkedValueUtils.getValue(props);\n inst._wrapperState = {\n pendingUpdate: false,\n initialValue: value != null ? value : props.defaultValue,\n listeners: null,\n onChange: _handleChange.bind(inst),\n wasMultiple: Boolean(props.multiple)\n };\n\n if (props.value !== undefined && props.defaultValue !== undefined && !didWarnValueDefaultValue) {\n process.env.NODE_ENV !== 'production' ? warning(false, 'Select elements must be either controlled or uncontrolled ' + '(specify either the value prop, or the defaultValue prop, but not ' + 'both). Decide between using a controlled or uncontrolled select ' + 'element and remove one of these props. More info: ' + 'https://fb.me/react-controlled-components') : void 0;\n didWarnValueDefaultValue = true;\n }\n },\n\n getSelectValueContext: function (inst) {\n // ReactDOMOption looks at this initial value so the initial generated\n // markup has correct `selected` attributes\n return inst._wrapperState.initialValue;\n },\n\n postUpdateWrapper: function (inst) {\n var props = inst._currentElement.props;\n\n // After the initial mount, we control selected-ness manually so don't pass\n // this value down\n inst._wrapperState.initialValue = undefined;\n\n var wasMultiple = inst._wrapperState.wasMultiple;\n inst._wrapperState.wasMultiple = Boolean(props.multiple);\n\n var value = LinkedValueUtils.getValue(props);\n if (value != null) {\n inst._wrapperState.pendingUpdate = false;\n updateOptions(inst, Boolean(props.multiple), value);\n } else if (wasMultiple !== Boolean(props.multiple)) {\n // For simplicity, reapply `defaultValue` if `multiple` is toggled.\n if (props.defaultValue != null) {\n updateOptions(inst, Boolean(props.multiple), props.defaultValue);\n } else {\n // Revert the select back to its default unselected state.\n updateOptions(inst, Boolean(props.multiple), props.multiple ? [] : '');\n }\n }\n }\n};\n\nfunction _handleChange(event) {\n var props = this._currentElement.props;\n var returnValue = LinkedValueUtils.executeOnChange(props, event);\n\n if (this._rootNodeID) {\n this._wrapperState.pendingUpdate = true;\n }\n ReactUpdates.asap(updateOptionsIfPendingUpdateAndMounted, this);\n return returnValue;\n}\n\nmodule.exports = ReactDOMSelect;","// shim for using process in browser\nvar process = module.exports = {};\n\n// cached from whatever global is present so that test runners that stub it\n// don't break things. But we need to wrap it in a try catch in case it is\n// wrapped in strict mode code which doesn't define any globals. It's inside a\n// function because try/catches deoptimize in certain engines.\n\nvar cachedSetTimeout;\nvar cachedClearTimeout;\n\nfunction defaultSetTimout() {\n throw new Error('setTimeout has not been defined');\n}\nfunction defaultClearTimeout () {\n throw new Error('clearTimeout has not been defined');\n}\n(function () {\n try {\n if (typeof setTimeout === 'function') {\n cachedSetTimeout = setTimeout;\n } else {\n cachedSetTimeout = defaultSetTimout;\n }\n } catch (e) {\n cachedSetTimeout = defaultSetTimout;\n }\n try {\n if (typeof clearTimeout === 'function') {\n cachedClearTimeout = clearTimeout;\n } else {\n cachedClearTimeout = defaultClearTimeout;\n }\n } catch (e) {\n cachedClearTimeout = defaultClearTimeout;\n }\n} ())\nfunction runTimeout(fun) {\n if (cachedSetTimeout === setTimeout) {\n //normal enviroments in sane situations\n return setTimeout(fun, 0);\n }\n // if setTimeout wasn't available but was latter defined\n if ((cachedSetTimeout === defaultSetTimout || !cachedSetTimeout) && setTimeout) {\n cachedSetTimeout = setTimeout;\n return setTimeout(fun, 0);\n }\n try {\n // when when somebody has screwed with setTimeout but no I.E. maddness\n return cachedSetTimeout(fun, 0);\n } catch(e){\n try {\n // When we are in I.E. but the script has been evaled so I.E. doesn't trust the global object when called normally\n return cachedSetTimeout.call(null, fun, 0);\n } catch(e){\n // same as above but when it's a version of I.E. that must have the global object for 'this', hopfully our context correct otherwise it will throw a global error\n return cachedSetTimeout.call(this, fun, 0);\n }\n }\n\n\n}\nfunction runClearTimeout(marker) {\n if (cachedClearTimeout === clearTimeout) {\n //normal enviroments in sane situations\n return clearTimeout(marker);\n }\n // if clearTimeout wasn't available but was latter defined\n if ((cachedClearTimeout === defaultClearTimeout || !cachedClearTimeout) && clearTimeout) {\n cachedClearTimeout = clearTimeout;\n return clearTimeout(marker);\n }\n try {\n // when when somebody has screwed with setTimeout but no I.E. maddness\n return cachedClearTimeout(marker);\n } catch (e){\n try {\n // When we are in I.E. but the script has been evaled so I.E. doesn't trust the global object when called normally\n return cachedClearTimeout.call(null, marker);\n } catch (e){\n // same as above but when it's a version of I.E. that must have the global object for 'this', hopfully our context correct otherwise it will throw a global error.\n // Some versions of I.E. have different rules for clearTimeout vs setTimeout\n return cachedClearTimeout.call(this, marker);\n }\n }\n\n\n\n}\nvar queue = [];\nvar draining = false;\nvar currentQueue;\nvar queueIndex = -1;\n\nfunction cleanUpNextTick() {\n if (!draining || !currentQueue) {\n return;\n }\n draining = false;\n if (currentQueue.length) {\n queue = currentQueue.concat(queue);\n } else {\n queueIndex = -1;\n }\n if (queue.length) {\n drainQueue();\n }\n}\n\nfunction drainQueue() {\n if (draining) {\n return;\n }\n var timeout = runTimeout(cleanUpNextTick);\n draining = true;\n\n var len = queue.length;\n while(len) {\n currentQueue = queue;\n queue = [];\n while (++queueIndex < len) {\n if (currentQueue) {\n currentQueue[queueIndex].run();\n }\n }\n queueIndex = -1;\n len = queue.length;\n }\n currentQueue = null;\n draining = false;\n runClearTimeout(timeout);\n}\n\nprocess.nextTick = function (fun) {\n var args = new Array(arguments.length - 1);\n if (arguments.length > 1) {\n for (var i = 1; i < arguments.length; i++) {\n args[i - 1] = arguments[i];\n }\n }\n queue.push(new Item(fun, args));\n if (queue.length === 1 && !draining) {\n runTimeout(drainQueue);\n }\n};\n\n// v8 likes predictible objects\nfunction Item(fun, array) {\n this.fun = fun;\n this.array = array;\n}\nItem.prototype.run = function () {\n this.fun.apply(null, this.array);\n};\nprocess.title = 'browser';\nprocess.browser = true;\nprocess.env = {};\nprocess.argv = [];\nprocess.version = ''; // empty string to avoid regexp issues\nprocess.versions = {};\n\nfunction noop() {}\n\nprocess.on = noop;\nprocess.addListener = noop;\nprocess.once = noop;\nprocess.off = noop;\nprocess.removeListener = noop;\nprocess.removeAllListeners = noop;\nprocess.emit = noop;\nprocess.prependListener = noop;\nprocess.prependOnceListener = noop;\n\nprocess.listeners = function (name) { return [] }\n\nprocess.binding = function (name) {\n throw new Error('process.binding is not supported');\n};\n\nprocess.cwd = function () { return '/' };\nprocess.chdir = function (dir) {\n throw new Error('process.chdir is not supported');\n};\nprocess.umask = function() { return 0; };\n","/**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n */\n\n'use strict';\n\nvar _prodInvariant = require('./reactProdInvariant'),\n _assign = require('object-assign');\n\nvar ReactCompositeComponent = require('./ReactCompositeComponent');\nvar ReactEmptyComponent = require('./ReactEmptyComponent');\nvar ReactHostComponent = require('./ReactHostComponent');\n\nvar getNextDebugID = require('react/lib/getNextDebugID');\nvar invariant = require('fbjs/lib/invariant');\nvar warning = require('fbjs/lib/warning');\n\n// To avoid a cyclic dependency, we create the final class in this module\nvar ReactCompositeComponentWrapper = function (element) {\n this.construct(element);\n};\n\nfunction getDeclarationErrorAddendum(owner) {\n if (owner) {\n var name = owner.getName();\n if (name) {\n return ' Check the render method of `' + name + '`.';\n }\n }\n return '';\n}\n\n/**\n * Check if the type reference is a known internal type. I.e. not a user\n * provided composite type.\n *\n * @param {function} type\n * @return {boolean} Returns true if this is a valid internal type.\n */\nfunction isInternalComponentType(type) {\n return typeof type === 'function' && typeof type.prototype !== 'undefined' && typeof type.prototype.mountComponent === 'function' && typeof type.prototype.receiveComponent === 'function';\n}\n\n/**\n * Given a ReactNode, create an instance that will actually be mounted.\n *\n * @param {ReactNode} node\n * @param {boolean} shouldHaveDebugID\n * @return {object} A new instance of the element's constructor.\n * @protected\n */\nfunction instantiateReactComponent(node, shouldHaveDebugID) {\n var instance;\n\n if (node === null || node === false) {\n instance = ReactEmptyComponent.create(instantiateReactComponent);\n } else if (typeof node === 'object') {\n var element = node;\n var type = element.type;\n if (typeof type !== 'function' && typeof type !== 'string') {\n var info = '';\n if (process.env.NODE_ENV !== 'production') {\n if (type === undefined || typeof type === 'object' && type !== null && Object.keys(type).length === 0) {\n info += ' You likely forgot to export your component from the file ' + \"it's defined in.\";\n }\n }\n info += getDeclarationErrorAddendum(element._owner);\n !false ? process.env.NODE_ENV !== 'production' ? invariant(false, 'Element type is invalid: expected a string (for built-in components) or a class/function (for composite components) but got: %s.%s', type == null ? type : typeof type, info) : _prodInvariant('130', type == null ? type : typeof type, info) : void 0;\n }\n\n // Special case string values\n if (typeof element.type === 'string') {\n instance = ReactHostComponent.createInternalComponent(element);\n } else if (isInternalComponentType(element.type)) {\n // This is temporarily available for custom components that are not string\n // representations. I.e. ART. Once those are updated to use the string\n // representation, we can drop this code path.\n instance = new element.type(element);\n\n // We renamed this. Allow the old name for compat. :(\n if (!instance.getHostNode) {\n instance.getHostNode = instance.getNativeNode;\n }\n } else {\n instance = new ReactCompositeComponentWrapper(element);\n }\n } else if (typeof node === 'string' || typeof node === 'number') {\n instance = ReactHostComponent.createInstanceForText(node);\n } else {\n !false ? process.env.NODE_ENV !== 'production' ? invariant(false, 'Encountered invalid React node of type %s', typeof node) : _prodInvariant('131', typeof node) : void 0;\n }\n\n if (process.env.NODE_ENV !== 'production') {\n process.env.NODE_ENV !== 'production' ? warning(typeof instance.mountComponent === 'function' && typeof instance.receiveComponent === 'function' && typeof instance.getHostNode === 'function' && typeof instance.unmountComponent === 'function', 'Only React Components can be mounted.') : void 0;\n }\n\n // These two fields are used by the DOM and ART diffing algorithms\n // respectively. Instead of using expandos on components, we should be\n // storing the state needed by the diffing algorithms elsewhere.\n instance._mountIndex = 0;\n instance._mountImage = null;\n\n if (process.env.NODE_ENV !== 'production') {\n instance._debugID = shouldHaveDebugID ? getNextDebugID() : 0;\n }\n\n // Internal instances should fully constructed at this point, so they should\n // not get any new fields added to them at this point.\n if (process.env.NODE_ENV !== 'production') {\n if (Object.preventExtensions) {\n Object.preventExtensions(instance);\n }\n }\n\n return instance;\n}\n\n_assign(ReactCompositeComponentWrapper.prototype, ReactCompositeComponent, {\n _instantiateReactComponent: instantiateReactComponent\n});\n\nmodule.exports = instantiateReactComponent;","/**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * \n */\n\n'use strict';\n\nvar _prodInvariant = require('./reactProdInvariant');\n\nvar React = require('react/lib/React');\n\nvar invariant = require('fbjs/lib/invariant');\n\nvar ReactNodeTypes = {\n HOST: 0,\n COMPOSITE: 1,\n EMPTY: 2,\n\n getType: function (node) {\n if (node === null || node === false) {\n return ReactNodeTypes.EMPTY;\n } else if (React.isValidElement(node)) {\n if (typeof node.type === 'function') {\n return ReactNodeTypes.COMPOSITE;\n } else {\n return ReactNodeTypes.HOST;\n }\n }\n !false ? process.env.NODE_ENV !== 'production' ? invariant(false, 'Unexpected node: %s', node) : _prodInvariant('26', node) : void 0;\n }\n};\n\nmodule.exports = ReactNodeTypes;","/**\n * Copyright (c) 2014-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n */\n\n'use strict';\n\nvar emptyComponentFactory;\n\nvar ReactEmptyComponentInjection = {\n injectEmptyComponentFactory: function (factory) {\n emptyComponentFactory = factory;\n }\n};\n\nvar ReactEmptyComponent = {\n create: function (instantiate) {\n return emptyComponentFactory(instantiate);\n }\n};\n\nReactEmptyComponent.injection = ReactEmptyComponentInjection;\n\nmodule.exports = ReactEmptyComponent;","/**\n * Copyright (c) 2014-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n */\n\n'use strict';\n\nvar _prodInvariant = require('./reactProdInvariant');\n\nvar invariant = require('fbjs/lib/invariant');\n\nvar genericComponentClass = null;\nvar textComponentClass = null;\n\nvar ReactHostComponentInjection = {\n // This accepts a class that receives the tag string. This is a catch all\n // that can render any kind of tag.\n injectGenericComponentClass: function (componentClass) {\n genericComponentClass = componentClass;\n },\n // This accepts a text component class that takes the text string to be\n // rendered as props.\n injectTextComponentClass: function (componentClass) {\n textComponentClass = componentClass;\n }\n};\n\n/**\n * Get a host internal component class for a specific tag.\n *\n * @param {ReactElement} element The element to create.\n * @return {function} The internal class constructor function.\n */\nfunction createInternalComponent(element) {\n !genericComponentClass ? process.env.NODE_ENV !== 'production' ? invariant(false, 'There is no registered component for the tag %s', element.type) : _prodInvariant('111', element.type) : void 0;\n return new genericComponentClass(element);\n}\n\n/**\n * @param {ReactText} text\n * @return {ReactComponent}\n */\nfunction createInstanceForText(text) {\n return new textComponentClass(text);\n}\n\n/**\n * @param {ReactComponent} component\n * @return {boolean}\n */\nfunction isTextComponent(component) {\n return component instanceof textComponentClass;\n}\n\nvar ReactHostComponent = {\n createInternalComponent: createInternalComponent,\n createInstanceForText: createInstanceForText,\n isTextComponent: isTextComponent,\n injection: ReactHostComponentInjection\n};\n\nmodule.exports = ReactHostComponent;","/**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n */\n\n'use strict';\n\nvar _prodInvariant = require('./reactProdInvariant');\n\nvar ReactCurrentOwner = require('react/lib/ReactCurrentOwner');\nvar REACT_ELEMENT_TYPE = require('./ReactElementSymbol');\n\nvar getIteratorFn = require('./getIteratorFn');\nvar invariant = require('fbjs/lib/invariant');\nvar KeyEscapeUtils = require('./KeyEscapeUtils');\nvar warning = require('fbjs/lib/warning');\n\nvar SEPARATOR = '.';\nvar SUBSEPARATOR = ':';\n\n/**\n * This is inlined from ReactElement since this file is shared between\n * isomorphic and renderers. We could extract this to a\n *\n */\n\n/**\n * TODO: Test that a single child and an array with one item have the same key\n * pattern.\n */\n\nvar didWarnAboutMaps = false;\n\n/**\n * Generate a key string that identifies a component within a set.\n *\n * @param {*} component A component that could contain a manual key.\n * @param {number} index Index that is used if a manual key is not provided.\n * @return {string}\n */\nfunction getComponentKey(component, index) {\n // Do some typechecking here since we call this blindly. We want to ensure\n // that we don't block potential future ES APIs.\n if (component && typeof component === 'object' && component.key != null) {\n // Explicit key\n return KeyEscapeUtils.escape(component.key);\n }\n // Implicit key determined by the index in the set\n return index.toString(36);\n}\n\n/**\n * @param {?*} children Children tree container.\n * @param {!string} nameSoFar Name of the key path so far.\n * @param {!function} callback Callback to invoke with each child found.\n * @param {?*} traverseContext Used to pass information throughout the traversal\n * process.\n * @return {!number} The number of children in this subtree.\n */\nfunction traverseAllChildrenImpl(children, nameSoFar, callback, traverseContext) {\n var type = typeof children;\n\n if (type === 'undefined' || type === 'boolean') {\n // All of the above are perceived as null.\n children = null;\n }\n\n if (children === null || type === 'string' || type === 'number' ||\n // The following is inlined from ReactElement. This means we can optimize\n // some checks. React Fiber also inlines this logic for similar purposes.\n type === 'object' && children.$$typeof === REACT_ELEMENT_TYPE) {\n callback(traverseContext, children,\n // If it's the only child, treat the name as if it was wrapped in an array\n // so that it's consistent if the number of children grows.\n nameSoFar === '' ? SEPARATOR + getComponentKey(children, 0) : nameSoFar);\n return 1;\n }\n\n var child;\n var nextName;\n var subtreeCount = 0; // Count of children found in the current subtree.\n var nextNamePrefix = nameSoFar === '' ? SEPARATOR : nameSoFar + SUBSEPARATOR;\n\n if (Array.isArray(children)) {\n for (var i = 0; i < children.length; i++) {\n child = children[i];\n nextName = nextNamePrefix + getComponentKey(child, i);\n subtreeCount += traverseAllChildrenImpl(child, nextName, callback, traverseContext);\n }\n } else {\n var iteratorFn = getIteratorFn(children);\n if (iteratorFn) {\n var iterator = iteratorFn.call(children);\n var step;\n if (iteratorFn !== children.entries) {\n var ii = 0;\n while (!(step = iterator.next()).done) {\n child = step.value;\n nextName = nextNamePrefix + getComponentKey(child, ii++);\n subtreeCount += traverseAllChildrenImpl(child, nextName, callback, traverseContext);\n }\n } else {\n if (process.env.NODE_ENV !== 'production') {\n var mapsAsChildrenAddendum = '';\n if (ReactCurrentOwner.current) {\n var mapsAsChildrenOwnerName = ReactCurrentOwner.current.getName();\n if (mapsAsChildrenOwnerName) {\n mapsAsChildrenAddendum = ' Check the render method of `' + mapsAsChildrenOwnerName + '`.';\n }\n }\n process.env.NODE_ENV !== 'production' ? warning(didWarnAboutMaps, 'Using Maps as children is not yet fully supported. It is an ' + 'experimental feature that might be removed. Convert it to a ' + 'sequence / iterable of keyed ReactElements instead.%s', mapsAsChildrenAddendum) : void 0;\n didWarnAboutMaps = true;\n }\n // Iterator will provide entry [k,v] tuples rather than values.\n while (!(step = iterator.next()).done) {\n var entry = step.value;\n if (entry) {\n child = entry[1];\n nextName = nextNamePrefix + KeyEscapeUtils.escape(entry[0]) + SUBSEPARATOR + getComponentKey(child, 0);\n subtreeCount += traverseAllChildrenImpl(child, nextName, callback, traverseContext);\n }\n }\n }\n } else if (type === 'object') {\n var addendum = '';\n if (process.env.NODE_ENV !== 'production') {\n addendum = ' If you meant to render a collection of children, use an array ' + 'instead or wrap the object using createFragment(object) from the ' + 'React add-ons.';\n if (children._isReactElement) {\n addendum = \" It looks like you're using an element created by a different \" + 'version of React. Make sure to use only one copy of React.';\n }\n if (ReactCurrentOwner.current) {\n var name = ReactCurrentOwner.current.getName();\n if (name) {\n addendum += ' Check the render method of `' + name + '`.';\n }\n }\n }\n var childrenString = String(children);\n !false ? process.env.NODE_ENV !== 'production' ? invariant(false, 'Objects are not valid as a React child (found: %s).%s', childrenString === '[object Object]' ? 'object with keys {' + Object.keys(children).join(', ') + '}' : childrenString, addendum) : _prodInvariant('31', childrenString === '[object Object]' ? 'object with keys {' + Object.keys(children).join(', ') + '}' : childrenString, addendum) : void 0;\n }\n }\n\n return subtreeCount;\n}\n\n/**\n * Traverses children that are typically specified as `props.children`, but\n * might also be specified through attributes:\n *\n * - `traverseAllChildren(this.props.children, ...)`\n * - `traverseAllChildren(this.props.leftPanelChildren, ...)`\n *\n * The `traverseContext` is an optional argument that is passed through the\n * entire traversal. It can be used to store accumulations or anything else that\n * the callback might find relevant.\n *\n * @param {?*} children Children tree object.\n * @param {!function} callback To invoke upon traversing each child.\n * @param {?*} traverseContext Context for traversal.\n * @return {!number} The number of children in this subtree.\n */\nfunction traverseAllChildren(children, callback, traverseContext) {\n if (children == null) {\n return 0;\n }\n\n return traverseAllChildrenImpl(children, '', callback, traverseContext);\n}\n\nmodule.exports = traverseAllChildren;","/**\n * Copyright (c) 2016-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * \n */\n\n'use strict';\n\nvar _prodInvariant = require('./reactProdInvariant');\n\nvar ReactCurrentOwner = require('./ReactCurrentOwner');\n\nvar invariant = require('fbjs/lib/invariant');\nvar warning = require('fbjs/lib/warning');\n\nfunction isNative(fn) {\n // Based on isNative() from Lodash\n var funcToString = Function.prototype.toString;\n var hasOwnProperty = Object.prototype.hasOwnProperty;\n var reIsNative = RegExp('^' + funcToString\n // Take an example native function source for comparison\n .call(hasOwnProperty\n // Strip regex characters so we can use it for regex\n ).replace(/[\\\\^$.*+?()[\\]{}|]/g, '\\\\$&'\n // Remove hasOwnProperty from the template to make it generic\n ).replace(/hasOwnProperty|(function).*?(?=\\\\\\()| for .+?(?=\\\\\\])/g, '$1.*?') + '$');\n try {\n var source = funcToString.call(fn);\n return reIsNative.test(source);\n } catch (err) {\n return false;\n }\n}\n\nvar canUseCollections =\n// Array.from\ntypeof Array.from === 'function' &&\n// Map\ntypeof Map === 'function' && isNative(Map) &&\n// Map.prototype.keys\nMap.prototype != null && typeof Map.prototype.keys === 'function' && isNative(Map.prototype.keys) &&\n// Set\ntypeof Set === 'function' && isNative(Set) &&\n// Set.prototype.keys\nSet.prototype != null && typeof Set.prototype.keys === 'function' && isNative(Set.prototype.keys);\n\nvar setItem;\nvar getItem;\nvar removeItem;\nvar getItemIDs;\nvar addRoot;\nvar removeRoot;\nvar getRootIDs;\n\nif (canUseCollections) {\n var itemMap = new Map();\n var rootIDSet = new Set();\n\n setItem = function (id, item) {\n itemMap.set(id, item);\n };\n getItem = function (id) {\n return itemMap.get(id);\n };\n removeItem = function (id) {\n itemMap['delete'](id);\n };\n getItemIDs = function () {\n return Array.from(itemMap.keys());\n };\n\n addRoot = function (id) {\n rootIDSet.add(id);\n };\n removeRoot = function (id) {\n rootIDSet['delete'](id);\n };\n getRootIDs = function () {\n return Array.from(rootIDSet.keys());\n };\n} else {\n var itemByKey = {};\n var rootByKey = {};\n\n // Use non-numeric keys to prevent V8 performance issues:\n // https://github.com/facebook/react/pull/7232\n var getKeyFromID = function (id) {\n return '.' + id;\n };\n var getIDFromKey = function (key) {\n return parseInt(key.substr(1), 10);\n };\n\n setItem = function (id, item) {\n var key = getKeyFromID(id);\n itemByKey[key] = item;\n };\n getItem = function (id) {\n var key = getKeyFromID(id);\n return itemByKey[key];\n };\n removeItem = function (id) {\n var key = getKeyFromID(id);\n delete itemByKey[key];\n };\n getItemIDs = function () {\n return Object.keys(itemByKey).map(getIDFromKey);\n };\n\n addRoot = function (id) {\n var key = getKeyFromID(id);\n rootByKey[key] = true;\n };\n removeRoot = function (id) {\n var key = getKeyFromID(id);\n delete rootByKey[key];\n };\n getRootIDs = function () {\n return Object.keys(rootByKey).map(getIDFromKey);\n };\n}\n\nvar unmountedIDs = [];\n\nfunction purgeDeep(id) {\n var item = getItem(id);\n if (item) {\n var childIDs = item.childIDs;\n\n removeItem(id);\n childIDs.forEach(purgeDeep);\n }\n}\n\nfunction describeComponentFrame(name, source, ownerName) {\n return '\\n in ' + (name || 'Unknown') + (source ? ' (at ' + source.fileName.replace(/^.*[\\\\\\/]/, '') + ':' + source.lineNumber + ')' : ownerName ? ' (created by ' + ownerName + ')' : '');\n}\n\nfunction getDisplayName(element) {\n if (element == null) {\n return '#empty';\n } else if (typeof element === 'string' || typeof element === 'number') {\n return '#text';\n } else if (typeof element.type === 'string') {\n return element.type;\n } else {\n return element.type.displayName || element.type.name || 'Unknown';\n }\n}\n\nfunction describeID(id) {\n var name = ReactComponentTreeHook.getDisplayName(id);\n var element = ReactComponentTreeHook.getElement(id);\n var ownerID = ReactComponentTreeHook.getOwnerID(id);\n var ownerName;\n if (ownerID) {\n ownerName = ReactComponentTreeHook.getDisplayName(ownerID);\n }\n process.env.NODE_ENV !== 'production' ? warning(element, 'ReactComponentTreeHook: Missing React element for debugID %s when ' + 'building stack', id) : void 0;\n return describeComponentFrame(name, element && element._source, ownerName);\n}\n\nvar ReactComponentTreeHook = {\n onSetChildren: function (id, nextChildIDs) {\n var item = getItem(id);\n !item ? process.env.NODE_ENV !== 'production' ? invariant(false, 'Item must have been set') : _prodInvariant('144') : void 0;\n item.childIDs = nextChildIDs;\n\n for (var i = 0; i < nextChildIDs.length; i++) {\n var nextChildID = nextChildIDs[i];\n var nextChild = getItem(nextChildID);\n !nextChild ? process.env.NODE_ENV !== 'production' ? invariant(false, 'Expected hook events to fire for the child before its parent includes it in onSetChildren().') : _prodInvariant('140') : void 0;\n !(nextChild.childIDs != null || typeof nextChild.element !== 'object' || nextChild.element == null) ? process.env.NODE_ENV !== 'production' ? invariant(false, 'Expected onSetChildren() to fire for a container child before its parent includes it in onSetChildren().') : _prodInvariant('141') : void 0;\n !nextChild.isMounted ? process.env.NODE_ENV !== 'production' ? invariant(false, 'Expected onMountComponent() to fire for the child before its parent includes it in onSetChildren().') : _prodInvariant('71') : void 0;\n if (nextChild.parentID == null) {\n nextChild.parentID = id;\n // TODO: This shouldn't be necessary but mounting a new root during in\n // componentWillMount currently causes not-yet-mounted components to\n // be purged from our tree data so their parent id is missing.\n }\n !(nextChild.parentID === id) ? process.env.NODE_ENV !== 'production' ? invariant(false, 'Expected onBeforeMountComponent() parent and onSetChildren() to be consistent (%s has parents %s and %s).', nextChildID, nextChild.parentID, id) : _prodInvariant('142', nextChildID, nextChild.parentID, id) : void 0;\n }\n },\n onBeforeMountComponent: function (id, element, parentID) {\n var item = {\n element: element,\n parentID: parentID,\n text: null,\n childIDs: [],\n isMounted: false,\n updateCount: 0\n };\n setItem(id, item);\n },\n onBeforeUpdateComponent: function (id, element) {\n var item = getItem(id);\n if (!item || !item.isMounted) {\n // We may end up here as a result of setState() in componentWillUnmount().\n // In this case, ignore the element.\n return;\n }\n item.element = element;\n },\n onMountComponent: function (id) {\n var item = getItem(id);\n !item ? process.env.NODE_ENV !== 'production' ? invariant(false, 'Item must have been set') : _prodInvariant('144') : void 0;\n item.isMounted = true;\n var isRoot = item.parentID === 0;\n if (isRoot) {\n addRoot(id);\n }\n },\n onUpdateComponent: function (id) {\n var item = getItem(id);\n if (!item || !item.isMounted) {\n // We may end up here as a result of setState() in componentWillUnmount().\n // In this case, ignore the element.\n return;\n }\n item.updateCount++;\n },\n onUnmountComponent: function (id) {\n var item = getItem(id);\n if (item) {\n // We need to check if it exists.\n // `item` might not exist if it is inside an error boundary, and a sibling\n // error boundary child threw while mounting. Then this instance never\n // got a chance to mount, but it still gets an unmounting event during\n // the error boundary cleanup.\n item.isMounted = false;\n var isRoot = item.parentID === 0;\n if (isRoot) {\n removeRoot(id);\n }\n }\n unmountedIDs.push(id);\n },\n purgeUnmountedComponents: function () {\n if (ReactComponentTreeHook._preventPurging) {\n // Should only be used for testing.\n return;\n }\n\n for (var i = 0; i < unmountedIDs.length; i++) {\n var id = unmountedIDs[i];\n purgeDeep(id);\n }\n unmountedIDs.length = 0;\n },\n isMounted: function (id) {\n var item = getItem(id);\n return item ? item.isMounted : false;\n },\n getCurrentStackAddendum: function (topElement) {\n var info = '';\n if (topElement) {\n var name = getDisplayName(topElement);\n var owner = topElement._owner;\n info += describeComponentFrame(name, topElement._source, owner && owner.getName());\n }\n\n var currentOwner = ReactCurrentOwner.current;\n var id = currentOwner && currentOwner._debugID;\n\n info += ReactComponentTreeHook.getStackAddendumByID(id);\n return info;\n },\n getStackAddendumByID: function (id) {\n var info = '';\n while (id) {\n info += describeID(id);\n id = ReactComponentTreeHook.getParentID(id);\n }\n return info;\n },\n getChildIDs: function (id) {\n var item = getItem(id);\n return item ? item.childIDs : [];\n },\n getDisplayName: function (id) {\n var element = ReactComponentTreeHook.getElement(id);\n if (!element) {\n return null;\n }\n return getDisplayName(element);\n },\n getElement: function (id) {\n var item = getItem(id);\n return item ? item.element : null;\n },\n getOwnerID: function (id) {\n var element = ReactComponentTreeHook.getElement(id);\n if (!element || !element._owner) {\n return null;\n }\n return element._owner._debugID;\n },\n getParentID: function (id) {\n var item = getItem(id);\n return item ? item.parentID : null;\n },\n getSource: function (id) {\n var item = getItem(id);\n var element = item ? item.element : null;\n var source = element != null ? element._source : null;\n return source;\n },\n getText: function (id) {\n var element = ReactComponentTreeHook.getElement(id);\n if (typeof element === 'string') {\n return element;\n } else if (typeof element === 'number') {\n return '' + element;\n } else {\n return null;\n }\n },\n getUpdateCount: function (id) {\n var item = getItem(id);\n return item ? item.updateCount : 0;\n },\n\n\n getRootIDs: getRootIDs,\n getRegisteredIDs: getItemIDs,\n\n pushNonStandardWarningStack: function (isCreatingElement, currentSource) {\n if (typeof console.reactStack !== 'function') {\n return;\n }\n\n var stack = [];\n var currentOwner = ReactCurrentOwner.current;\n var id = currentOwner && currentOwner._debugID;\n\n try {\n if (isCreatingElement) {\n stack.push({\n name: id ? ReactComponentTreeHook.getDisplayName(id) : null,\n fileName: currentSource ? currentSource.fileName : null,\n lineNumber: currentSource ? currentSource.lineNumber : null\n });\n }\n\n while (id) {\n var element = ReactComponentTreeHook.getElement(id);\n var parentID = ReactComponentTreeHook.getParentID(id);\n var ownerID = ReactComponentTreeHook.getOwnerID(id);\n var ownerName = ownerID ? ReactComponentTreeHook.getDisplayName(ownerID) : null;\n var source = element && element._source;\n stack.push({\n name: ownerName,\n fileName: source ? source.fileName : null,\n lineNumber: source ? source.lineNumber : null\n });\n id = parentID;\n }\n } catch (err) {\n // Internal state is messed up.\n // Stop building the stack (it's just a nice to have).\n }\n\n console.reactStack(stack);\n },\n popNonStandardWarningStack: function () {\n if (typeof console.reactStackEnd !== 'function') {\n return;\n }\n console.reactStackEnd();\n }\n};\n\nmodule.exports = ReactComponentTreeHook;","'use strict';\n\n/**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * @typechecks\n */\n\nvar emptyFunction = require('./emptyFunction');\n\n/**\n * Upstream version of event listener. Does not take into account specific\n * nature of platform.\n */\nvar EventListener = {\n /**\n * Listen to DOM events during the bubble phase.\n *\n * @param {DOMEventTarget} target DOM element to register listener on.\n * @param {string} eventType Event type, e.g. 'click' or 'mouseover'.\n * @param {function} callback Callback function.\n * @return {object} Object with a `remove` method.\n */\n listen: function listen(target, eventType, callback) {\n if (target.addEventListener) {\n target.addEventListener(eventType, callback, false);\n return {\n remove: function remove() {\n target.removeEventListener(eventType, callback, false);\n }\n };\n } else if (target.attachEvent) {\n target.attachEvent('on' + eventType, callback);\n return {\n remove: function remove() {\n target.detachEvent('on' + eventType, callback);\n }\n };\n }\n },\n\n /**\n * Listen to DOM events during the capture phase.\n *\n * @param {DOMEventTarget} target DOM element to register listener on.\n * @param {string} eventType Event type, e.g. 'click' or 'mouseover'.\n * @param {function} callback Callback function.\n * @return {object} Object with a `remove` method.\n */\n capture: function capture(target, eventType, callback) {\n if (target.addEventListener) {\n target.addEventListener(eventType, callback, true);\n return {\n remove: function remove() {\n target.removeEventListener(eventType, callback, true);\n }\n };\n } else {\n if (process.env.NODE_ENV !== 'production') {\n console.error('Attempted to listen to events during the capture phase on a ' + 'browser that does not support the capture phase. Your application ' + 'will not receive some events.');\n }\n return {\n remove: emptyFunction\n };\n }\n },\n\n registerDefault: function registerDefault() {}\n};\n\nmodule.exports = EventListener;","/**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n */\n\n'use strict';\n\nvar ReactDOMSelection = require('./ReactDOMSelection');\n\nvar containsNode = require('fbjs/lib/containsNode');\nvar focusNode = require('fbjs/lib/focusNode');\nvar getActiveElement = require('fbjs/lib/getActiveElement');\n\nfunction isInDocument(node) {\n return containsNode(document.documentElement, node);\n}\n\n/**\n * @ReactInputSelection: React input selection module. Based on Selection.js,\n * but modified to be suitable for react and has a couple of bug fixes (doesn't\n * assume buttons have range selections allowed).\n * Input selection module for React.\n */\nvar ReactInputSelection = {\n hasSelectionCapabilities: function (elem) {\n var nodeName = elem && elem.nodeName && elem.nodeName.toLowerCase();\n return nodeName && (nodeName === 'input' && elem.type === 'text' || nodeName === 'textarea' || elem.contentEditable === 'true');\n },\n\n getSelectionInformation: function () {\n var focusedElem = getActiveElement();\n return {\n focusedElem: focusedElem,\n selectionRange: ReactInputSelection.hasSelectionCapabilities(focusedElem) ? ReactInputSelection.getSelection(focusedElem) : null\n };\n },\n\n /**\n * @restoreSelection: If any selection information was potentially lost,\n * restore it. This is useful when performing operations that could remove dom\n * nodes and place them back in, resulting in focus being lost.\n */\n restoreSelection: function (priorSelectionInformation) {\n var curFocusedElem = getActiveElement();\n var priorFocusedElem = priorSelectionInformation.focusedElem;\n var priorSelectionRange = priorSelectionInformation.selectionRange;\n if (curFocusedElem !== priorFocusedElem && isInDocument(priorFocusedElem)) {\n if (ReactInputSelection.hasSelectionCapabilities(priorFocusedElem)) {\n ReactInputSelection.setSelection(priorFocusedElem, priorSelectionRange);\n }\n focusNode(priorFocusedElem);\n }\n },\n\n /**\n * @getSelection: Gets the selection bounds of a focused textarea, input or\n * contentEditable node.\n * -@input: Look up selection bounds of this input\n * -@return {start: selectionStart, end: selectionEnd}\n */\n getSelection: function (input) {\n var selection;\n\n if ('selectionStart' in input) {\n // Modern browser with input or textarea.\n selection = {\n start: input.selectionStart,\n end: input.selectionEnd\n };\n } else if (document.selection && input.nodeName && input.nodeName.toLowerCase() === 'input') {\n // IE8 input.\n var range = document.selection.createRange();\n // There can only be one selection per document in IE, so it must\n // be in our element.\n if (range.parentElement() === input) {\n selection = {\n start: -range.moveStart('character', -input.value.length),\n end: -range.moveEnd('character', -input.value.length)\n };\n }\n } else {\n // Content editable or old IE textarea.\n selection = ReactDOMSelection.getOffsets(input);\n }\n\n return selection || { start: 0, end: 0 };\n },\n\n /**\n * @setSelection: Sets the selection bounds of a textarea or input and focuses\n * the input.\n * -@input Set selection bounds of this input or textarea\n * -@offsets Object of same form that is returned from get*\n */\n setSelection: function (input, offsets) {\n var start = offsets.start;\n var end = offsets.end;\n if (end === undefined) {\n end = start;\n }\n\n if ('selectionStart' in input) {\n input.selectionStart = start;\n input.selectionEnd = Math.min(end, input.value.length);\n } else if (document.selection && input.nodeName && input.nodeName.toLowerCase() === 'input') {\n var range = input.createTextRange();\n range.collapse(true);\n range.moveStart('character', start);\n range.moveEnd('character', end - start);\n range.select();\n } else {\n ReactDOMSelection.setOffsets(input, offsets);\n }\n }\n};\n\nmodule.exports = ReactInputSelection;","'use strict';\n\n/**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * @typechecks\n */\n\n/* eslint-disable fb-www/typeof-undefined */\n\n/**\n * Same as document.activeElement but wraps in a try-catch block. In IE it is\n * not safe to call document.activeElement if there is nothing focused.\n *\n * The activeElement will be null only if the document or document body is not\n * yet defined.\n *\n * @param {?DOMDocument} doc Defaults to current document.\n * @return {?DOMElement}\n */\nfunction getActiveElement(doc) /*?DOMElement*/{\n doc = doc || (typeof document !== 'undefined' ? document : undefined);\n if (typeof doc === 'undefined') {\n return null;\n }\n try {\n return doc.activeElement || doc.body;\n } catch (e) {\n return doc.body;\n }\n}\n\nmodule.exports = getActiveElement;","/**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n */\n\n'use strict';\n\nvar _prodInvariant = require('./reactProdInvariant');\n\nvar DOMLazyTree = require('./DOMLazyTree');\nvar DOMProperty = require('./DOMProperty');\nvar React = require('react/lib/React');\nvar ReactBrowserEventEmitter = require('./ReactBrowserEventEmitter');\nvar ReactCurrentOwner = require('react/lib/ReactCurrentOwner');\nvar ReactDOMComponentTree = require('./ReactDOMComponentTree');\nvar ReactDOMContainerInfo = require('./ReactDOMContainerInfo');\nvar ReactDOMFeatureFlags = require('./ReactDOMFeatureFlags');\nvar ReactFeatureFlags = require('./ReactFeatureFlags');\nvar ReactInstanceMap = require('./ReactInstanceMap');\nvar ReactInstrumentation = require('./ReactInstrumentation');\nvar ReactMarkupChecksum = require('./ReactMarkupChecksum');\nvar ReactReconciler = require('./ReactReconciler');\nvar ReactUpdateQueue = require('./ReactUpdateQueue');\nvar ReactUpdates = require('./ReactUpdates');\n\nvar emptyObject = require('fbjs/lib/emptyObject');\nvar instantiateReactComponent = require('./instantiateReactComponent');\nvar invariant = require('fbjs/lib/invariant');\nvar setInnerHTML = require('./setInnerHTML');\nvar shouldUpdateReactComponent = require('./shouldUpdateReactComponent');\nvar warning = require('fbjs/lib/warning');\n\nvar ATTR_NAME = DOMProperty.ID_ATTRIBUTE_NAME;\nvar ROOT_ATTR_NAME = DOMProperty.ROOT_ATTRIBUTE_NAME;\n\nvar ELEMENT_NODE_TYPE = 1;\nvar DOC_NODE_TYPE = 9;\nvar DOCUMENT_FRAGMENT_NODE_TYPE = 11;\n\nvar instancesByReactRootID = {};\n\n/**\n * Finds the index of the first character\n * that's not common between the two given strings.\n *\n * @return {number} the index of the character where the strings diverge\n */\nfunction firstDifferenceIndex(string1, string2) {\n var minLen = Math.min(string1.length, string2.length);\n for (var i = 0; i < minLen; i++) {\n if (string1.charAt(i) !== string2.charAt(i)) {\n return i;\n }\n }\n return string1.length === string2.length ? -1 : minLen;\n}\n\n/**\n * @param {DOMElement|DOMDocument} container DOM element that may contain\n * a React component\n * @return {?*} DOM element that may have the reactRoot ID, or null.\n */\nfunction getReactRootElementInContainer(container) {\n if (!container) {\n return null;\n }\n\n if (container.nodeType === DOC_NODE_TYPE) {\n return container.documentElement;\n } else {\n return container.firstChild;\n }\n}\n\nfunction internalGetID(node) {\n // If node is something like a window, document, or text node, none of\n // which support attributes or a .getAttribute method, gracefully return\n // the empty string, as if the attribute were missing.\n return node.getAttribute && node.getAttribute(ATTR_NAME) || '';\n}\n\n/**\n * Mounts this component and inserts it into the DOM.\n *\n * @param {ReactComponent} componentInstance The instance to mount.\n * @param {DOMElement} container DOM element to mount into.\n * @param {ReactReconcileTransaction} transaction\n * @param {boolean} shouldReuseMarkup If true, do not insert markup\n */\nfunction mountComponentIntoNode(wrapperInstance, container, transaction, shouldReuseMarkup, context) {\n var markerName;\n if (ReactFeatureFlags.logTopLevelRenders) {\n var wrappedElement = wrapperInstance._currentElement.props.child;\n var type = wrappedElement.type;\n markerName = 'React mount: ' + (typeof type === 'string' ? type : type.displayName || type.name);\n console.time(markerName);\n }\n\n var markup = ReactReconciler.mountComponent(wrapperInstance, transaction, null, ReactDOMContainerInfo(wrapperInstance, container), context, 0 /* parentDebugID */\n );\n\n if (markerName) {\n console.timeEnd(markerName);\n }\n\n wrapperInstance._renderedComponent._topLevelWrapper = wrapperInstance;\n ReactMount._mountImageIntoNode(markup, container, wrapperInstance, shouldReuseMarkup, transaction);\n}\n\n/**\n * Batched mount.\n *\n * @param {ReactComponent} componentInstance The instance to mount.\n * @param {DOMElement} container DOM element to mount into.\n * @param {boolean} shouldReuseMarkup If true, do not insert markup\n */\nfunction batchedMountComponentIntoNode(componentInstance, container, shouldReuseMarkup, context) {\n var transaction = ReactUpdates.ReactReconcileTransaction.getPooled(\n /* useCreateElement */\n !shouldReuseMarkup && ReactDOMFeatureFlags.useCreateElement);\n transaction.perform(mountComponentIntoNode, null, componentInstance, container, transaction, shouldReuseMarkup, context);\n ReactUpdates.ReactReconcileTransaction.release(transaction);\n}\n\n/**\n * Unmounts a component and removes it from the DOM.\n *\n * @param {ReactComponent} instance React component instance.\n * @param {DOMElement} container DOM element to unmount from.\n * @final\n * @internal\n * @see {ReactMount.unmountComponentAtNode}\n */\nfunction unmountComponentFromNode(instance, container, safely) {\n if (process.env.NODE_ENV !== 'production') {\n ReactInstrumentation.debugTool.onBeginFlush();\n }\n ReactReconciler.unmountComponent(instance, safely);\n if (process.env.NODE_ENV !== 'production') {\n ReactInstrumentation.debugTool.onEndFlush();\n }\n\n if (container.nodeType === DOC_NODE_TYPE) {\n container = container.documentElement;\n }\n\n // http://jsperf.com/emptying-a-node\n while (container.lastChild) {\n container.removeChild(container.lastChild);\n }\n}\n\n/**\n * True if the supplied DOM node has a direct React-rendered child that is\n * not a React root element. Useful for warning in `render`,\n * `unmountComponentAtNode`, etc.\n *\n * @param {?DOMElement} node The candidate DOM node.\n * @return {boolean} True if the DOM element contains a direct child that was\n * rendered by React but is not a root element.\n * @internal\n */\nfunction hasNonRootReactChild(container) {\n var rootEl = getReactRootElementInContainer(container);\n if (rootEl) {\n var inst = ReactDOMComponentTree.getInstanceFromNode(rootEl);\n return !!(inst && inst._hostParent);\n }\n}\n\n/**\n * True if the supplied DOM node is a React DOM element and\n * it has been rendered by another copy of React.\n *\n * @param {?DOMElement} node The candidate DOM node.\n * @return {boolean} True if the DOM has been rendered by another copy of React\n * @internal\n */\nfunction nodeIsRenderedByOtherInstance(container) {\n var rootEl = getReactRootElementInContainer(container);\n return !!(rootEl && isReactNode(rootEl) && !ReactDOMComponentTree.getInstanceFromNode(rootEl));\n}\n\n/**\n * True if the supplied DOM node is a valid node element.\n *\n * @param {?DOMElement} node The candidate DOM node.\n * @return {boolean} True if the DOM is a valid DOM node.\n * @internal\n */\nfunction isValidContainer(node) {\n return !!(node && (node.nodeType === ELEMENT_NODE_TYPE || node.nodeType === DOC_NODE_TYPE || node.nodeType === DOCUMENT_FRAGMENT_NODE_TYPE));\n}\n\n/**\n * True if the supplied DOM node is a valid React node element.\n *\n * @param {?DOMElement} node The candidate DOM node.\n * @return {boolean} True if the DOM is a valid React DOM node.\n * @internal\n */\nfunction isReactNode(node) {\n return isValidContainer(node) && (node.hasAttribute(ROOT_ATTR_NAME) || node.hasAttribute(ATTR_NAME));\n}\n\nfunction getHostRootInstanceInContainer(container) {\n var rootEl = getReactRootElementInContainer(container);\n var prevHostInstance = rootEl && ReactDOMComponentTree.getInstanceFromNode(rootEl);\n return prevHostInstance && !prevHostInstance._hostParent ? prevHostInstance : null;\n}\n\nfunction getTopLevelWrapperInContainer(container) {\n var root = getHostRootInstanceInContainer(container);\n return root ? root._hostContainerInfo._topLevelWrapper : null;\n}\n\n/**\n * Temporary (?) hack so that we can store all top-level pending updates on\n * composites instead of having to worry about different types of components\n * here.\n */\nvar topLevelRootCounter = 1;\nvar TopLevelWrapper = function () {\n this.rootID = topLevelRootCounter++;\n};\nTopLevelWrapper.prototype.isReactComponent = {};\nif (process.env.NODE_ENV !== 'production') {\n TopLevelWrapper.displayName = 'TopLevelWrapper';\n}\nTopLevelWrapper.prototype.render = function () {\n return this.props.child;\n};\nTopLevelWrapper.isReactTopLevelWrapper = true;\n\n/**\n * Mounting is the process of initializing a React component by creating its\n * representative DOM elements and inserting them into a supplied `container`.\n * Any prior content inside `container` is destroyed in the process.\n *\n * ReactMount.render(\n * component,\n * document.getElementById('container')\n * );\n *\n * <div id=\"container\"> <-- Supplied `container`.\n * <div data-reactid=\".3\"> <-- Rendered reactRoot of React\n * // ... component.\n * </div>\n * </div>\n *\n * Inside of `container`, the first element rendered is the \"reactRoot\".\n */\nvar ReactMount = {\n TopLevelWrapper: TopLevelWrapper,\n\n /**\n * Used by devtools. The keys are not important.\n */\n _instancesByReactRootID: instancesByReactRootID,\n\n /**\n * This is a hook provided to support rendering React components while\n * ensuring that the apparent scroll position of its `container` does not\n * change.\n *\n * @param {DOMElement} container The `container` being rendered into.\n * @param {function} renderCallback This must be called once to do the render.\n */\n scrollMonitor: function (container, renderCallback) {\n renderCallback();\n },\n\n /**\n * Take a component that's already mounted into the DOM and replace its props\n * @param {ReactComponent} prevComponent component instance already in the DOM\n * @param {ReactElement} nextElement component instance to render\n * @param {DOMElement} container container to render into\n * @param {?function} callback function triggered on completion\n */\n _updateRootComponent: function (prevComponent, nextElement, nextContext, container, callback) {\n ReactMount.scrollMonitor(container, function () {\n ReactUpdateQueue.enqueueElementInternal(prevComponent, nextElement, nextContext);\n if (callback) {\n ReactUpdateQueue.enqueueCallbackInternal(prevComponent, callback);\n }\n });\n\n return prevComponent;\n },\n\n /**\n * Render a new component into the DOM. Hooked by hooks!\n *\n * @param {ReactElement} nextElement element to render\n * @param {DOMElement} container container to render into\n * @param {boolean} shouldReuseMarkup if we should skip the markup insertion\n * @return {ReactComponent} nextComponent\n */\n _renderNewRootComponent: function (nextElement, container, shouldReuseMarkup, context) {\n // Various parts of our code (such as ReactCompositeComponent's\n // _renderValidatedComponent) assume that calls to render aren't nested;\n // verify that that's the case.\n process.env.NODE_ENV !== 'production' ? warning(ReactCurrentOwner.current == null, '_renderNewRootComponent(): Render methods should be a pure function ' + 'of props and state; triggering nested component updates from ' + 'render is not allowed. If necessary, trigger nested updates in ' + 'componentDidUpdate. Check the render method of %s.', ReactCurrentOwner.current && ReactCurrentOwner.current.getName() || 'ReactCompositeComponent') : void 0;\n\n !isValidContainer(container) ? process.env.NODE_ENV !== 'production' ? invariant(false, '_registerComponent(...): Target container is not a DOM element.') : _prodInvariant('37') : void 0;\n\n ReactBrowserEventEmitter.ensureScrollValueMonitoring();\n var componentInstance = instantiateReactComponent(nextElement, false);\n\n // The initial render is synchronous but any updates that happen during\n // rendering, in componentWillMount or componentDidMount, will be batched\n // according to the current batching strategy.\n\n ReactUpdates.batchedUpdates(batchedMountComponentIntoNode, componentInstance, container, shouldReuseMarkup, context);\n\n var wrapperID = componentInstance._instance.rootID;\n instancesByReactRootID[wrapperID] = componentInstance;\n\n return componentInstance;\n },\n\n /**\n * Renders a React component into the DOM in the supplied `container`.\n *\n * If the React component was previously rendered into `container`, this will\n * perform an update on it and only mutate the DOM as necessary to reflect the\n * latest React component.\n *\n * @param {ReactComponent} parentComponent The conceptual parent of this render tree.\n * @param {ReactElement} nextElement Component element to render.\n * @param {DOMElement} container DOM element to render into.\n * @param {?function} callback function triggered on completion\n * @return {ReactComponent} Component instance rendered in `container`.\n */\n renderSubtreeIntoContainer: function (parentComponent, nextElement, container, callback) {\n !(parentComponent != null && ReactInstanceMap.has(parentComponent)) ? process.env.NODE_ENV !== 'production' ? invariant(false, 'parentComponent must be a valid React Component') : _prodInvariant('38') : void 0;\n return ReactMount._renderSubtreeIntoContainer(parentComponent, nextElement, container, callback);\n },\n\n _renderSubtreeIntoContainer: function (parentComponent, nextElement, container, callback) {\n ReactUpdateQueue.validateCallback(callback, 'ReactDOM.render');\n !React.isValidElement(nextElement) ? process.env.NODE_ENV !== 'production' ? invariant(false, 'ReactDOM.render(): Invalid component element.%s', typeof nextElement === 'string' ? \" Instead of passing a string like 'div', pass \" + \"React.createElement('div') or <div />.\" : typeof nextElement === 'function' ? ' Instead of passing a class like Foo, pass ' + 'React.createElement(Foo) or <Foo />.' : // Check if it quacks like an element\n nextElement != null && nextElement.props !== undefined ? ' This may be caused by unintentionally loading two independent ' + 'copies of React.' : '') : _prodInvariant('39', typeof nextElement === 'string' ? \" Instead of passing a string like 'div', pass \" + \"React.createElement('div') or <div />.\" : typeof nextElement === 'function' ? ' Instead of passing a class like Foo, pass ' + 'React.createElement(Foo) or <Foo />.' : nextElement != null && nextElement.props !== undefined ? ' This may be caused by unintentionally loading two independent ' + 'copies of React.' : '') : void 0;\n\n process.env.NODE_ENV !== 'production' ? warning(!container || !container.tagName || container.tagName.toUpperCase() !== 'BODY', 'render(): Rendering components directly into document.body is ' + 'discouraged, since its children are often manipulated by third-party ' + 'scripts and browser extensions. This may lead to subtle ' + 'reconciliation issues. Try rendering into a container element created ' + 'for your app.') : void 0;\n\n var nextWrappedElement = React.createElement(TopLevelWrapper, {\n child: nextElement\n });\n\n var nextContext;\n if (parentComponent) {\n var parentInst = ReactInstanceMap.get(parentComponent);\n nextContext = parentInst._processChildContext(parentInst._context);\n } else {\n nextContext = emptyObject;\n }\n\n var prevComponent = getTopLevelWrapperInContainer(container);\n\n if (prevComponent) {\n var prevWrappedElement = prevComponent._currentElement;\n var prevElement = prevWrappedElement.props.child;\n if (shouldUpdateReactComponent(prevElement, nextElement)) {\n var publicInst = prevComponent._renderedComponent.getPublicInstance();\n var updatedCallback = callback && function () {\n callback.call(publicInst);\n };\n ReactMount._updateRootComponent(prevComponent, nextWrappedElement, nextContext, container, updatedCallback);\n return publicInst;\n } else {\n ReactMount.unmountComponentAtNode(container);\n }\n }\n\n var reactRootElement = getReactRootElementInContainer(container);\n var containerHasReactMarkup = reactRootElement && !!internalGetID(reactRootElement);\n var containerHasNonRootReactChild = hasNonRootReactChild(container);\n\n if (process.env.NODE_ENV !== 'production') {\n process.env.NODE_ENV !== 'production' ? warning(!containerHasNonRootReactChild, 'render(...): Replacing React-rendered children with a new root ' + 'component. If you intended to update the children of this node, ' + 'you should instead have the existing children update their state ' + 'and render the new components instead of calling ReactDOM.render.') : void 0;\n\n if (!containerHasReactMarkup || reactRootElement.nextSibling) {\n var rootElementSibling = reactRootElement;\n while (rootElementSibling) {\n if (internalGetID(rootElementSibling)) {\n process.env.NODE_ENV !== 'production' ? warning(false, 'render(): Target node has markup rendered by React, but there ' + 'are unrelated nodes as well. This is most commonly caused by ' + 'white-space inserted around server-rendered markup.') : void 0;\n break;\n }\n rootElementSibling = rootElementSibling.nextSibling;\n }\n }\n }\n\n var shouldReuseMarkup = containerHasReactMarkup && !prevComponent && !containerHasNonRootReactChild;\n var component = ReactMount._renderNewRootComponent(nextWrappedElement, container, shouldReuseMarkup, nextContext)._renderedComponent.getPublicInstance();\n if (callback) {\n callback.call(component);\n }\n return component;\n },\n\n /**\n * Renders a React component into the DOM in the supplied `container`.\n * See https://facebook.github.io/react/docs/top-level-api.html#reactdom.render\n *\n * If the React component was previously rendered into `container`, this will\n * perform an update on it and only mutate the DOM as necessary to reflect the\n * latest React component.\n *\n * @param {ReactElement} nextElement Component element to render.\n * @param {DOMElement} container DOM element to render into.\n * @param {?function} callback function triggered on completion\n * @return {ReactComponent} Component instance rendered in `container`.\n */\n render: function (nextElement, container, callback) {\n return ReactMount._renderSubtreeIntoContainer(null, nextElement, container, callback);\n },\n\n /**\n * Unmounts and destroys the React component rendered in the `container`.\n * See https://facebook.github.io/react/docs/top-level-api.html#reactdom.unmountcomponentatnode\n *\n * @param {DOMElement} container DOM element containing a React component.\n * @return {boolean} True if a component was found in and unmounted from\n * `container`\n */\n unmountComponentAtNode: function (container) {\n // Various parts of our code (such as ReactCompositeComponent's\n // _renderValidatedComponent) assume that calls to render aren't nested;\n // verify that that's the case. (Strictly speaking, unmounting won't cause a\n // render but we still don't expect to be in a render call here.)\n process.env.NODE_ENV !== 'production' ? warning(ReactCurrentOwner.current == null, 'unmountComponentAtNode(): Render methods should be a pure function ' + 'of props and state; triggering nested component updates from render ' + 'is not allowed. If necessary, trigger nested updates in ' + 'componentDidUpdate. Check the render method of %s.', ReactCurrentOwner.current && ReactCurrentOwner.current.getName() || 'ReactCompositeComponent') : void 0;\n\n !isValidContainer(container) ? process.env.NODE_ENV !== 'production' ? invariant(false, 'unmountComponentAtNode(...): Target container is not a DOM element.') : _prodInvariant('40') : void 0;\n\n if (process.env.NODE_ENV !== 'production') {\n process.env.NODE_ENV !== 'production' ? warning(!nodeIsRenderedByOtherInstance(container), \"unmountComponentAtNode(): The node you're attempting to unmount \" + 'was rendered by another copy of React.') : void 0;\n }\n\n var prevComponent = getTopLevelWrapperInContainer(container);\n if (!prevComponent) {\n // Check if the node being unmounted was rendered by React, but isn't a\n // root node.\n var containerHasNonRootReactChild = hasNonRootReactChild(container);\n\n // Check if the container itself is a React root node.\n var isContainerReactRoot = container.nodeType === 1 && container.hasAttribute(ROOT_ATTR_NAME);\n\n if (process.env.NODE_ENV !== 'production') {\n process.env.NODE_ENV !== 'production' ? warning(!containerHasNonRootReactChild, \"unmountComponentAtNode(): The node you're attempting to unmount \" + 'was rendered by React and is not a top-level container. %s', isContainerReactRoot ? 'You may have accidentally passed in a React root node instead ' + 'of its container.' : 'Instead, have the parent component update its state and ' + 'rerender in order to remove this component.') : void 0;\n }\n\n return false;\n }\n delete instancesByReactRootID[prevComponent._instance.rootID];\n ReactUpdates.batchedUpdates(unmountComponentFromNode, prevComponent, container, false);\n return true;\n },\n\n _mountImageIntoNode: function (markup, container, instance, shouldReuseMarkup, transaction) {\n !isValidContainer(container) ? process.env.NODE_ENV !== 'production' ? invariant(false, 'mountComponentIntoNode(...): Target container is not valid.') : _prodInvariant('41') : void 0;\n\n if (shouldReuseMarkup) {\n var rootElement = getReactRootElementInContainer(container);\n if (ReactMarkupChecksum.canReuseMarkup(markup, rootElement)) {\n ReactDOMComponentTree.precacheNode(instance, rootElement);\n return;\n } else {\n var checksum = rootElement.getAttribute(ReactMarkupChecksum.CHECKSUM_ATTR_NAME);\n rootElement.removeAttribute(ReactMarkupChecksum.CHECKSUM_ATTR_NAME);\n\n var rootMarkup = rootElement.outerHTML;\n rootElement.setAttribute(ReactMarkupChecksum.CHECKSUM_ATTR_NAME, checksum);\n\n var normalizedMarkup = markup;\n if (process.env.NODE_ENV !== 'production') {\n // because rootMarkup is retrieved from the DOM, various normalizations\n // will have occurred which will not be present in `markup`. Here,\n // insert markup into a <div> or <iframe> depending on the container\n // type to perform the same normalizations before comparing.\n var normalizer;\n if (container.nodeType === ELEMENT_NODE_TYPE) {\n normalizer = document.createElement('div');\n normalizer.innerHTML = markup;\n normalizedMarkup = normalizer.innerHTML;\n } else {\n normalizer = document.createElement('iframe');\n document.body.appendChild(normalizer);\n normalizer.contentDocument.write(markup);\n normalizedMarkup = normalizer.contentDocument.documentElement.outerHTML;\n document.body.removeChild(normalizer);\n }\n }\n\n var diffIndex = firstDifferenceIndex(normalizedMarkup, rootMarkup);\n var difference = ' (client) ' + normalizedMarkup.substring(diffIndex - 20, diffIndex + 20) + '\\n (server) ' + rootMarkup.substring(diffIndex - 20, diffIndex + 20);\n\n !(container.nodeType !== DOC_NODE_TYPE) ? process.env.NODE_ENV !== 'production' ? invariant(false, 'You\\'re trying to render a component to the document using server rendering but the checksum was invalid. This usually means you rendered a different component type or props on the client from the one on the server, or your render() methods are impure. React cannot handle this case due to cross-browser quirks by rendering at the document root. You should look for environment dependent code in your components and ensure the props are the same client and server side:\\n%s', difference) : _prodInvariant('42', difference) : void 0;\n\n if (process.env.NODE_ENV !== 'production') {\n process.env.NODE_ENV !== 'production' ? warning(false, 'React attempted to reuse markup in a container but the ' + 'checksum was invalid. This generally means that you are ' + 'using server rendering and the markup generated on the ' + 'server was not what the client was expecting. React injected ' + 'new markup to compensate which works but you have lost many ' + 'of the benefits of server rendering. Instead, figure out ' + 'why the markup being generated is different on the client ' + 'or server:\\n%s', difference) : void 0;\n }\n }\n }\n\n !(container.nodeType !== DOC_NODE_TYPE) ? process.env.NODE_ENV !== 'production' ? invariant(false, 'You\\'re trying to render a component to the document but you didn\\'t use server rendering. We can\\'t do this without using server rendering due to cross-browser quirks. See ReactDOMServer.renderToString() for server rendering.') : _prodInvariant('43') : void 0;\n\n if (transaction.useCreateElement) {\n while (container.lastChild) {\n container.removeChild(container.lastChild);\n }\n DOMLazyTree.insertTreeBefore(container, markup, null);\n } else {\n setInnerHTML(container, markup);\n ReactDOMComponentTree.precacheNode(instance, container.firstChild);\n }\n\n if (process.env.NODE_ENV !== 'production') {\n var hostNode = ReactDOMComponentTree.getInstanceFromNode(container.firstChild);\n if (hostNode._debugID !== 0) {\n ReactInstrumentation.debugTool.onHostOperation({\n instanceID: hostNode._debugID,\n type: 'mount',\n payload: markup.toString()\n });\n }\n }\n }\n};\n\nmodule.exports = ReactMount;","/**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n */\n\n'use strict';\n\nvar ReactNodeTypes = require('./ReactNodeTypes');\n\nfunction getHostComponentFromComposite(inst) {\n var type;\n\n while ((type = inst._renderedNodeType) === ReactNodeTypes.COMPOSITE) {\n inst = inst._renderedComponent;\n }\n\n if (type === ReactNodeTypes.HOST) {\n return inst._renderedComponent;\n } else if (type === ReactNodeTypes.EMPTY) {\n return null;\n }\n}\n\nmodule.exports = getHostComponentFromComposite;","// fallback for non-array-like ES3 and non-enumerable old V8 strings\nvar cof = require('./_cof');\n// eslint-disable-next-line no-prototype-builtins\nmodule.exports = Object('z').propertyIsEnumerable(0) ? Object : function (it) {\n return cof(it) == 'String' ? it.split('') : Object(it);\n};\n","var toString = {}.toString;\n\nmodule.exports = function (it) {\n return toString.call(it).slice(8, -1);\n};\n","// 7.1.15 ToLength\nvar toInteger = require('./_to-integer');\nvar min = Math.min;\nmodule.exports = function (it) {\n return it > 0 ? min(toInteger(it), 0x1fffffffffffff) : 0; // pow(2, 53) - 1 == 9007199254740991\n};\n","var core = require('./_core');\nvar global = require('./_global');\nvar SHARED = '__core-js_shared__';\nvar store = global[SHARED] || (global[SHARED] = {});\n\n(module.exports = function (key, value) {\n return store[key] || (store[key] = value !== undefined ? value : {});\n})('versions', []).push({\n version: core.version,\n mode: require('./_library') ? 'pure' : 'global',\n copyright: '© 2020 Denis Pushkarev (zloirock.ru)'\n});\n","module.exports = true;\n","var id = 0;\nvar px = Math.random();\nmodule.exports = function (key) {\n return 'Symbol('.concat(key === undefined ? '' : key, ')_', (++id + px).toString(36));\n};\n","// IE 8- don't enum bug keys\nmodule.exports = (\n 'constructor,hasOwnProperty,isPrototypeOf,propertyIsEnumerable,toLocaleString,toString,valueOf'\n).split(',');\n","module.exports = !require('./_descriptors') && !require('./_fails')(function () {\n return Object.defineProperty(require('./_dom-create')('div'), 'a', { get: function () { return 7; } }).a != 7;\n});\n","var isObject = require('./_is-object');\nvar document = require('./_global').document;\n// typeof document.createElement is 'object' in old IE\nvar is = isObject(document) && isObject(document.createElement);\nmodule.exports = function (it) {\n return is ? document.createElement(it) : {};\n};\n","// 7.1.1 ToPrimitive(input [, PreferredType])\nvar isObject = require('./_is-object');\n// instead of the ES6 spec version, we didn't implement @@toPrimitive case\n// and the second argument - flag - preferred type is a string\nmodule.exports = function (it, S) {\n if (!isObject(it)) return it;\n var fn, val;\n if (S && typeof (fn = it.toString) == 'function' && !isObject(val = fn.call(it))) return val;\n if (typeof (fn = it.valueOf) == 'function' && !isObject(val = fn.call(it))) return val;\n if (!S && typeof (fn = it.toString) == 'function' && !isObject(val = fn.call(it))) return val;\n throw TypeError(\"Can't convert object to primitive value\");\n};\n","// 19.1.2.2 / 15.2.3.5 Object.create(O [, Properties])\nvar anObject = require('./_an-object');\nvar dPs = require('./_object-dps');\nvar enumBugKeys = require('./_enum-bug-keys');\nvar IE_PROTO = require('./_shared-key')('IE_PROTO');\nvar Empty = function () { /* empty */ };\nvar PROTOTYPE = 'prototype';\n\n// Create object with fake `null` prototype: use iframe Object with cleared prototype\nvar createDict = function () {\n // Thrash, waste and sodomy: IE GC bug\n var iframe = require('./_dom-create')('iframe');\n var i = enumBugKeys.length;\n var lt = '<';\n var gt = '>';\n var iframeDocument;\n iframe.style.display = 'none';\n require('./_html').appendChild(iframe);\n iframe.src = 'javascript:'; // eslint-disable-line no-script-url\n // createDict = iframe.contentWindow.Object;\n // html.removeChild(iframe);\n iframeDocument = iframe.contentWindow.document;\n iframeDocument.open();\n iframeDocument.write(lt + 'script' + gt + 'document.F=Object' + lt + '/script' + gt);\n iframeDocument.close();\n createDict = iframeDocument.F;\n while (i--) delete createDict[PROTOTYPE][enumBugKeys[i]];\n return createDict();\n};\n\nmodule.exports = Object.create || function create(O, Properties) {\n var result;\n if (O !== null) {\n Empty[PROTOTYPE] = anObject(O);\n result = new Empty();\n Empty[PROTOTYPE] = null;\n // add \"__proto__\" for Object.getPrototypeOf polyfill\n result[IE_PROTO] = O;\n } else result = createDict();\n return Properties === undefined ? result : dPs(result, Properties);\n};\n","/**\n * Copyright 2014-2015, Facebook, Inc.\n * All rights reserved.\n *\n * This source code is licensed under the BSD-style license found in the\n * LICENSE file in the root directory of this source tree. An additional grant\n * of patent rights can be found in the PATENTS file in the same directory.\n */\n\n'use strict';\n\n/**\n * Similar to invariant but only logs a warning if the condition is not met.\n * This can be used to log issues in development environments in critical\n * paths. Removing the logging code for production environments will keep the\n * same logic and follow the same code paths.\n */\n\nvar warning = function() {};\n\nif (process.env.NODE_ENV !== 'production') {\n warning = function(condition, format, args) {\n var len = arguments.length;\n args = new Array(len > 2 ? len - 2 : 0);\n for (var key = 2; key < len; key++) {\n args[key - 2] = arguments[key];\n }\n if (format === undefined) {\n throw new Error(\n '`warning(condition, format, ...args)` requires a warning ' +\n 'message argument'\n );\n }\n\n if (format.length < 10 || (/^[s\\W]*$/).test(format)) {\n throw new Error(\n 'The warning format should be able to uniquely identify this ' +\n 'warning. Please, use a more descriptive format than: ' + format\n );\n }\n\n if (!condition) {\n var argIndex = 0;\n var message = 'Warning: ' +\n format.replace(/%s/g, function() {\n return args[argIndex++];\n });\n if (typeof console !== 'undefined') {\n console.error(message);\n }\n try {\n // This error was thrown as a convenience so that you can use this stack\n // to find the callsite that caused this warning to fire.\n throw new Error(message);\n } catch(x) {}\n }\n };\n}\n\nmodule.exports = warning;\n","\"use strict\";\n\nexports.__esModule = true;\nexports.default = hasClass;\n\nfunction hasClass(element, className) {\n if (element.classList) return !!className && element.classList.contains(className);else return (\" \" + (element.className.baseVal || element.className) + \" \").indexOf(\" \" + className + \" \") !== -1;\n}\n\nmodule.exports = exports[\"default\"];","\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\n\nexports.__esModule = true;\nexports.default = camelizeStyleName;\n\nvar _camelize = _interopRequireDefault(require(\"./camelize\"));\n\n/**\n * Copyright 2014-2015, Facebook, Inc.\n * All rights reserved.\n * https://github.com/facebook/react/blob/2aeb8a2a6beb00617a4217f7f8284924fa2ad819/src/vendor/core/camelizeStyleName.js\n */\nvar msPattern = /^-ms-/;\n\nfunction camelizeStyleName(string) {\n return (0, _camelize.default)(string.replace(msPattern, 'ms-'));\n}\n\nmodule.exports = exports[\"default\"];","'use strict';\n\nexports.__esModule = true;\n\nexports.default = function (node, event, handler, capture) {\n (0, _on2.default)(node, event, handler, capture);\n\n return {\n remove: function remove() {\n (0, _off2.default)(node, event, handler, capture);\n }\n };\n};\n\nvar _on = require('dom-helpers/events/on');\n\nvar _on2 = _interopRequireDefault(_on);\n\nvar _off = require('dom-helpers/events/off');\n\nvar _off2 = _interopRequireDefault(_off);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nmodule.exports = exports['default'];","var DESCRIPTORS = require('./_descriptors');\nvar getKeys = require('./_object-keys');\nvar toIObject = require('./_to-iobject');\nvar isEnum = require('./_object-pie').f;\nmodule.exports = function (isEntries) {\n return function (it) {\n var O = toIObject(it);\n var keys = getKeys(O);\n var length = keys.length;\n var i = 0;\n var result = [];\n var key;\n while (length > i) {\n key = keys[i++];\n if (!DESCRIPTORS || isEnum.call(O, key)) {\n result.push(isEntries ? [key, O[key]] : O[key]);\n }\n }\n return result;\n };\n};\n","var def = require('./_object-dp').f;\nvar has = require('./_has');\nvar TAG = require('./_wks')('toStringTag');\n\nmodule.exports = function (it, tag, stat) {\n if (it && !has(it = stat ? it : it.prototype, TAG)) def(it, TAG, { configurable: true, value: tag });\n};\n","module.exports = require(\"core-js/library/fn/object/keys\");","module.exports = require(\"core-js/library/fn/object/create\");","module.exports = require(\"core-js/library/fn/object/values\");","'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = isRequiredForA11y;\nfunction isRequiredForA11y(validator) {\n return function validate(props, propName, componentName, location, propFullName) {\n var componentNameSafe = componentName || '<<anonymous>>';\n var propFullNameSafe = propFullName || propName;\n\n if (props[propName] == null) {\n return new Error('The ' + location + ' `' + propFullNameSafe + '` is required to make ' + ('`' + componentNameSafe + '` accessible for users of assistive ') + 'technologies such as screen readers.');\n }\n\n for (var _len = arguments.length, args = Array(_len > 5 ? _len - 5 : 0), _key = 5; _key < _len; _key++) {\n args[_key - 5] = arguments[_key];\n }\n\n return validator.apply(undefined, [props, propName, componentName, location, propFullName].concat(args));\n };\n}\nmodule.exports = exports['default'];","\"use strict\";\n\nexports.__esModule = true;\nexports.default = uncontrollable;\n\nvar _react = _interopRequireDefault(require(\"react\"));\n\nvar _invariant = _interopRequireDefault(require(\"invariant\"));\n\nvar Utils = _interopRequireWildcard(require(\"./utils\"));\n\nfunction _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) { var desc = Object.defineProperty && Object.getOwnPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : {}; if (desc.get || desc.set) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } } newObj.default = obj; return newObj; } }\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _inheritsLoose(subClass, superClass) { subClass.prototype = Object.create(superClass.prototype); subClass.prototype.constructor = subClass; subClass.__proto__ = superClass; }\n\nfunction uncontrollable(Component, controlledValues, methods) {\n if (methods === void 0) {\n methods = [];\n }\n\n var displayName = Component.displayName || Component.name || 'Component';\n var isCompositeComponent = Utils.isReactComponent(Component);\n var controlledProps = Object.keys(controlledValues);\n var PROPS_TO_OMIT = controlledProps.map(Utils.defaultKey);\n !(isCompositeComponent || !methods.length) ? process.env.NODE_ENV !== \"production\" ? (0, _invariant.default)(false, '[uncontrollable] stateless function components cannot pass through methods ' + 'because they have no associated instances. Check component: ' + displayName + ', ' + 'attempting to pass through methods: ' + methods.join(', ')) : invariant(false) : void 0;\n\n var UncontrolledComponent =\n /*#__PURE__*/\n function (_React$Component) {\n _inheritsLoose(UncontrolledComponent, _React$Component);\n\n function UncontrolledComponent() {\n var _this;\n\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n _this = _React$Component.call.apply(_React$Component, [this].concat(args)) || this;\n _this.handlers = Object.create(null);\n controlledProps.forEach(function (propName) {\n var handlerName = controlledValues[propName];\n\n var handleChange = function handleChange(value) {\n if (_this.props[handlerName]) {\n var _this$props;\n\n _this._notifying = true;\n\n for (var _len2 = arguments.length, args = new Array(_len2 > 1 ? _len2 - 1 : 0), _key2 = 1; _key2 < _len2; _key2++) {\n args[_key2 - 1] = arguments[_key2];\n }\n\n (_this$props = _this.props)[handlerName].apply(_this$props, [value].concat(args));\n\n _this._notifying = false;\n }\n\n _this._values[propName] = value;\n if (!_this.unmounted) _this.forceUpdate();\n };\n\n _this.handlers[handlerName] = handleChange;\n });\n if (isCompositeComponent) _this.attachRef = function (ref) {\n _this.inner = ref;\n };\n return _this;\n }\n\n var _proto = UncontrolledComponent.prototype;\n\n _proto.shouldComponentUpdate = function shouldComponentUpdate() {\n //let the forceUpdate trigger the update\n return !this._notifying;\n };\n\n _proto.componentWillMount = function componentWillMount() {\n var _this2 = this;\n\n var props = this.props;\n this._values = Object.create(null);\n controlledProps.forEach(function (key) {\n _this2._values[key] = props[Utils.defaultKey(key)];\n });\n };\n\n _proto.componentWillReceiveProps = function componentWillReceiveProps(nextProps) {\n var _this3 = this;\n\n var props = this.props;\n controlledProps.forEach(function (key) {\n /**\n * If a prop switches from controlled to Uncontrolled\n * reset its value to the defaultValue\n */\n if (!Utils.isProp(nextProps, key) && Utils.isProp(props, key)) {\n _this3._values[key] = nextProps[Utils.defaultKey(key)];\n }\n });\n };\n\n _proto.componentWillUnmount = function componentWillUnmount() {\n this.unmounted = true;\n };\n\n _proto.getControlledInstance = function getControlledInstance() {\n return this.inner;\n };\n\n _proto.render = function render() {\n var _this4 = this;\n\n var props = _extends({}, this.props);\n\n PROPS_TO_OMIT.forEach(function (prop) {\n delete props[prop];\n });\n var newProps = {};\n controlledProps.forEach(function (propName) {\n var propValue = _this4.props[propName];\n newProps[propName] = propValue !== undefined ? propValue : _this4._values[propName];\n });\n return _react.default.createElement(Component, _extends({}, props, newProps, this.handlers, {\n ref: this.attachRef\n }));\n };\n\n return UncontrolledComponent;\n }(_react.default.Component);\n\n UncontrolledComponent.displayName = \"Uncontrolled(\" + displayName + \")\";\n UncontrolledComponent.propTypes = Utils.uncontrolledPropTypes(controlledValues, displayName);\n methods.forEach(function (method) {\n UncontrolledComponent.prototype[method] = function $proxiedMethod() {\n var _inner;\n\n return (_inner = this.inner)[method].apply(_inner, arguments);\n };\n });\n UncontrolledComponent.ControlledComponent = Component;\n /**\n * useful when wrapping a Component and you want to control\n * everything\n */\n\n UncontrolledComponent.deferControlTo = function (newComponent, additions, nextMethods) {\n if (additions === void 0) {\n additions = {};\n }\n\n return uncontrollable(newComponent, _extends({}, controlledValues, additions), nextMethods);\n };\n\n return UncontrolledComponent;\n}\n\nmodule.exports = exports[\"default\"];","module.exports = require(\"core-js/library/fn/array/from\");","'use strict';\n\nexports.__esModule = true;\n\nvar _contains = require('dom-helpers/query/contains');\n\nvar _contains2 = _interopRequireDefault(_contains);\n\nvar _propTypes = require('prop-types');\n\nvar _propTypes2 = _interopRequireDefault(_propTypes);\n\nvar _react = require('react');\n\nvar _react2 = _interopRequireDefault(_react);\n\nvar _reactDom = require('react-dom');\n\nvar _reactDom2 = _interopRequireDefault(_reactDom);\n\nvar _addEventListener = require('./utils/addEventListener');\n\nvar _addEventListener2 = _interopRequireDefault(_addEventListener);\n\nvar _ownerDocument = require('./utils/ownerDocument');\n\nvar _ownerDocument2 = _interopRequireDefault(_ownerDocument);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\nvar escapeKeyCode = 27;\n\nfunction isLeftClickEvent(event) {\n return event.button === 0;\n}\n\nfunction isModifiedEvent(event) {\n return !!(event.metaKey || event.altKey || event.ctrlKey || event.shiftKey);\n}\n\n/**\n * The `<RootCloseWrapper/>` component registers your callback on the document\n * when rendered. Powers the `<Overlay/>` component. This is used achieve modal\n * style behavior where your callback is triggered when the user tries to\n * interact with the rest of the document or hits the `esc` key.\n */\n\nvar RootCloseWrapper = function (_React$Component) {\n _inherits(RootCloseWrapper, _React$Component);\n\n function RootCloseWrapper(props, context) {\n _classCallCheck(this, RootCloseWrapper);\n\n var _this = _possibleConstructorReturn(this, _React$Component.call(this, props, context));\n\n _this.addEventListeners = function () {\n var event = _this.props.event;\n\n var doc = (0, _ownerDocument2.default)(_this);\n\n // Use capture for this listener so it fires before React's listener, to\n // avoid false positives in the contains() check below if the target DOM\n // element is removed in the React mouse callback.\n _this.documentMouseCaptureListener = (0, _addEventListener2.default)(doc, event, _this.handleMouseCapture, true);\n\n _this.documentMouseListener = (0, _addEventListener2.default)(doc, event, _this.handleMouse);\n\n _this.documentKeyupListener = (0, _addEventListener2.default)(doc, 'keyup', _this.handleKeyUp);\n };\n\n _this.removeEventListeners = function () {\n if (_this.documentMouseCaptureListener) {\n _this.documentMouseCaptureListener.remove();\n }\n\n if (_this.documentMouseListener) {\n _this.documentMouseListener.remove();\n }\n\n if (_this.documentKeyupListener) {\n _this.documentKeyupListener.remove();\n }\n };\n\n _this.handleMouseCapture = function (e) {\n _this.preventMouseRootClose = isModifiedEvent(e) || !isLeftClickEvent(e) || (0, _contains2.default)(_reactDom2.default.findDOMNode(_this), e.target);\n };\n\n _this.handleMouse = function (e) {\n if (!_this.preventMouseRootClose && _this.props.onRootClose) {\n _this.props.onRootClose(e);\n }\n };\n\n _this.handleKeyUp = function (e) {\n if (e.keyCode === escapeKeyCode && _this.props.onRootClose) {\n _this.props.onRootClose(e);\n }\n };\n\n _this.preventMouseRootClose = false;\n return _this;\n }\n\n RootCloseWrapper.prototype.componentDidMount = function componentDidMount() {\n if (!this.props.disabled) {\n this.addEventListeners();\n }\n };\n\n RootCloseWrapper.prototype.componentDidUpdate = function componentDidUpdate(prevProps) {\n if (!this.props.disabled && prevProps.disabled) {\n this.addEventListeners();\n } else if (this.props.disabled && !prevProps.disabled) {\n this.removeEventListeners();\n }\n };\n\n RootCloseWrapper.prototype.componentWillUnmount = function componentWillUnmount() {\n if (!this.props.disabled) {\n this.removeEventListeners();\n }\n };\n\n RootCloseWrapper.prototype.render = function render() {\n return this.props.children;\n };\n\n return RootCloseWrapper;\n}(_react2.default.Component);\n\nRootCloseWrapper.displayName = 'RootCloseWrapper';\n\nRootCloseWrapper.propTypes = {\n /**\n * Callback fired after click or mousedown. Also triggers when user hits `esc`.\n */\n onRootClose: _propTypes2.default.func,\n /**\n * Children to render.\n */\n children: _propTypes2.default.element,\n /**\n * Disable the the RootCloseWrapper, preventing it from triggering `onRootClose`.\n */\n disabled: _propTypes2.default.bool,\n /**\n * Choose which document mouse event to bind to.\n */\n event: _propTypes2.default.oneOf(['click', 'mousedown'])\n};\n\nRootCloseWrapper.defaultProps = {\n event: 'click'\n};\n\nexports.default = RootCloseWrapper;\nmodule.exports = exports['default'];","/**\n * Copyright (c) 2014-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n */\n\n'use strict';\n\n/**\n * Forked from fbjs/warning:\n * https://github.com/facebook/fbjs/blob/e66ba20ad5be433eb54423f2b097d829324d9de6/packages/fbjs/src/__forks__/warning.js\n *\n * Only change is we use console.warn instead of console.error,\n * and do nothing when 'console' is not supported.\n * This really simplifies the code.\n * ---\n * Similar to invariant but only logs a warning if the condition is not met.\n * This can be used to log issues in development environments in critical\n * paths. Removing the logging code for production environments will keep the\n * same logic and follow the same code paths.\n */\n\nvar lowPriorityWarning = function () {};\n\nif (process.env.NODE_ENV !== 'production') {\n var printWarning = function (format) {\n for (var _len = arguments.length, args = Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {\n args[_key - 1] = arguments[_key];\n }\n\n var argIndex = 0;\n var message = 'Warning: ' + format.replace(/%s/g, function () {\n return args[argIndex++];\n });\n if (typeof console !== 'undefined') {\n console.warn(message);\n }\n try {\n // --- Welcome to debugging React ---\n // This error was thrown as a convenience so that you can use this stack\n // to find the callsite that caused this warning to fire.\n throw new Error(message);\n } catch (x) {}\n };\n\n lowPriorityWarning = function (condition, format) {\n if (format === undefined) {\n throw new Error('`warning(condition, format, ...args)` requires a warning ' + 'message argument');\n }\n if (!condition) {\n for (var _len2 = arguments.length, args = Array(_len2 > 2 ? _len2 - 2 : 0), _key2 = 2; _key2 < _len2; _key2++) {\n args[_key2 - 2] = arguments[_key2];\n }\n\n printWarning.apply(undefined, [format].concat(args));\n }\n };\n}\n\nmodule.exports = lowPriorityWarning;","/**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n */\n\n'use strict';\n\nvar PooledClass = require('./PooledClass');\nvar ReactElement = require('./ReactElement');\n\nvar emptyFunction = require('fbjs/lib/emptyFunction');\nvar traverseAllChildren = require('./traverseAllChildren');\n\nvar twoArgumentPooler = PooledClass.twoArgumentPooler;\nvar fourArgumentPooler = PooledClass.fourArgumentPooler;\n\nvar userProvidedKeyEscapeRegex = /\\/+/g;\nfunction escapeUserProvidedKey(text) {\n return ('' + text).replace(userProvidedKeyEscapeRegex, '$&/');\n}\n\n/**\n * PooledClass representing the bookkeeping associated with performing a child\n * traversal. Allows avoiding binding callbacks.\n *\n * @constructor ForEachBookKeeping\n * @param {!function} forEachFunction Function to perform traversal with.\n * @param {?*} forEachContext Context to perform context with.\n */\nfunction ForEachBookKeeping(forEachFunction, forEachContext) {\n this.func = forEachFunction;\n this.context = forEachContext;\n this.count = 0;\n}\nForEachBookKeeping.prototype.destructor = function () {\n this.func = null;\n this.context = null;\n this.count = 0;\n};\nPooledClass.addPoolingTo(ForEachBookKeeping, twoArgumentPooler);\n\nfunction forEachSingleChild(bookKeeping, child, name) {\n var func = bookKeeping.func,\n context = bookKeeping.context;\n\n func.call(context, child, bookKeeping.count++);\n}\n\n/**\n * Iterates through children that are typically specified as `props.children`.\n *\n * See https://facebook.github.io/react/docs/top-level-api.html#react.children.foreach\n *\n * The provided forEachFunc(child, index) will be called for each\n * leaf child.\n *\n * @param {?*} children Children tree container.\n * @param {function(*, int)} forEachFunc\n * @param {*} forEachContext Context for forEachContext.\n */\nfunction forEachChildren(children, forEachFunc, forEachContext) {\n if (children == null) {\n return children;\n }\n var traverseContext = ForEachBookKeeping.getPooled(forEachFunc, forEachContext);\n traverseAllChildren(children, forEachSingleChild, traverseContext);\n ForEachBookKeeping.release(traverseContext);\n}\n\n/**\n * PooledClass representing the bookkeeping associated with performing a child\n * mapping. Allows avoiding binding callbacks.\n *\n * @constructor MapBookKeeping\n * @param {!*} mapResult Object containing the ordered map of results.\n * @param {!function} mapFunction Function to perform mapping with.\n * @param {?*} mapContext Context to perform mapping with.\n */\nfunction MapBookKeeping(mapResult, keyPrefix, mapFunction, mapContext) {\n this.result = mapResult;\n this.keyPrefix = keyPrefix;\n this.func = mapFunction;\n this.context = mapContext;\n this.count = 0;\n}\nMapBookKeeping.prototype.destructor = function () {\n this.result = null;\n this.keyPrefix = null;\n this.func = null;\n this.context = null;\n this.count = 0;\n};\nPooledClass.addPoolingTo(MapBookKeeping, fourArgumentPooler);\n\nfunction mapSingleChildIntoContext(bookKeeping, child, childKey) {\n var result = bookKeeping.result,\n keyPrefix = bookKeeping.keyPrefix,\n func = bookKeeping.func,\n context = bookKeeping.context;\n\n\n var mappedChild = func.call(context, child, bookKeeping.count++);\n if (Array.isArray(mappedChild)) {\n mapIntoWithKeyPrefixInternal(mappedChild, result, childKey, emptyFunction.thatReturnsArgument);\n } else if (mappedChild != null) {\n if (ReactElement.isValidElement(mappedChild)) {\n mappedChild = ReactElement.cloneAndReplaceKey(mappedChild,\n // Keep both the (mapped) and old keys if they differ, just as\n // traverseAllChildren used to do for objects as children\n keyPrefix + (mappedChild.key && (!child || child.key !== mappedChild.key) ? escapeUserProvidedKey(mappedChild.key) + '/' : '') + childKey);\n }\n result.push(mappedChild);\n }\n}\n\nfunction mapIntoWithKeyPrefixInternal(children, array, prefix, func, context) {\n var escapedPrefix = '';\n if (prefix != null) {\n escapedPrefix = escapeUserProvidedKey(prefix) + '/';\n }\n var traverseContext = MapBookKeeping.getPooled(array, escapedPrefix, func, context);\n traverseAllChildren(children, mapSingleChildIntoContext, traverseContext);\n MapBookKeeping.release(traverseContext);\n}\n\n/**\n * Maps children that are typically specified as `props.children`.\n *\n * See https://facebook.github.io/react/docs/top-level-api.html#react.children.map\n *\n * The provided mapFunction(child, key, index) will be called for each\n * leaf child.\n *\n * @param {?*} children Children tree container.\n * @param {function(*, int)} func The map function.\n * @param {*} context Context for mapFunction.\n * @return {object} Object containing the ordered map of results.\n */\nfunction mapChildren(children, func, context) {\n if (children == null) {\n return children;\n }\n var result = [];\n mapIntoWithKeyPrefixInternal(children, result, null, func, context);\n return result;\n}\n\nfunction forEachSingleChildDummy(traverseContext, child, name) {\n return null;\n}\n\n/**\n * Count the number of children that are typically specified as\n * `props.children`.\n *\n * See https://facebook.github.io/react/docs/top-level-api.html#react.children.count\n *\n * @param {?*} children Children tree container.\n * @return {number} The number of children.\n */\nfunction countChildren(children, context) {\n return traverseAllChildren(children, forEachSingleChildDummy, null);\n}\n\n/**\n * Flatten a children object (typically specified as `props.children`) and\n * return an array with appropriately re-keyed children.\n *\n * See https://facebook.github.io/react/docs/top-level-api.html#react.children.toarray\n */\nfunction toArray(children) {\n var result = [];\n mapIntoWithKeyPrefixInternal(children, result, null, emptyFunction.thatReturnsArgument);\n return result;\n}\n\nvar ReactChildren = {\n forEach: forEachChildren,\n map: mapChildren,\n mapIntoWithKeyPrefixInternal: mapIntoWithKeyPrefixInternal,\n count: countChildren,\n toArray: toArray\n};\n\nmodule.exports = ReactChildren;","/**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * \n */\n\n'use strict';\n\nvar _prodInvariant = require('./reactProdInvariant');\n\nvar invariant = require('fbjs/lib/invariant');\n\n/**\n * Static poolers. Several custom versions for each potential number of\n * arguments. A completely generic pooler is easy to implement, but would\n * require accessing the `arguments` object. In each of these, `this` refers to\n * the Class itself, not an instance. If any others are needed, simply add them\n * here, or in their own files.\n */\nvar oneArgumentPooler = function (copyFieldsFrom) {\n var Klass = this;\n if (Klass.instancePool.length) {\n var instance = Klass.instancePool.pop();\n Klass.call(instance, copyFieldsFrom);\n return instance;\n } else {\n return new Klass(copyFieldsFrom);\n }\n};\n\nvar twoArgumentPooler = function (a1, a2) {\n var Klass = this;\n if (Klass.instancePool.length) {\n var instance = Klass.instancePool.pop();\n Klass.call(instance, a1, a2);\n return instance;\n } else {\n return new Klass(a1, a2);\n }\n};\n\nvar threeArgumentPooler = function (a1, a2, a3) {\n var Klass = this;\n if (Klass.instancePool.length) {\n var instance = Klass.instancePool.pop();\n Klass.call(instance, a1, a2, a3);\n return instance;\n } else {\n return new Klass(a1, a2, a3);\n }\n};\n\nvar fourArgumentPooler = function (a1, a2, a3, a4) {\n var Klass = this;\n if (Klass.instancePool.length) {\n var instance = Klass.instancePool.pop();\n Klass.call(instance, a1, a2, a3, a4);\n return instance;\n } else {\n return new Klass(a1, a2, a3, a4);\n }\n};\n\nvar standardReleaser = function (instance) {\n var Klass = this;\n !(instance instanceof Klass) ? process.env.NODE_ENV !== 'production' ? invariant(false, 'Trying to release an instance into a pool of a different type.') : _prodInvariant('25') : void 0;\n instance.destructor();\n if (Klass.instancePool.length < Klass.poolSize) {\n Klass.instancePool.push(instance);\n }\n};\n\nvar DEFAULT_POOL_SIZE = 10;\nvar DEFAULT_POOLER = oneArgumentPooler;\n\n/**\n * Augments `CopyConstructor` to be a poolable class, augmenting only the class\n * itself (statically) not adding any prototypical fields. Any CopyConstructor\n * you give this may have a `poolSize` property, and will look for a\n * prototypical `destructor` on instances.\n *\n * @param {Function} CopyConstructor Constructor that can be used to reset.\n * @param {Function} pooler Customizable pooler.\n */\nvar addPoolingTo = function (CopyConstructor, pooler) {\n // Casting as any so that flow ignores the actual implementation and trusts\n // it to match the type we declared\n var NewKlass = CopyConstructor;\n NewKlass.instancePool = [];\n NewKlass.getPooled = pooler || DEFAULT_POOLER;\n if (!NewKlass.poolSize) {\n NewKlass.poolSize = DEFAULT_POOL_SIZE;\n }\n NewKlass.release = standardReleaser;\n return NewKlass;\n};\n\nvar PooledClass = {\n addPoolingTo: addPoolingTo,\n oneArgumentPooler: oneArgumentPooler,\n twoArgumentPooler: twoArgumentPooler,\n threeArgumentPooler: threeArgumentPooler,\n fourArgumentPooler: fourArgumentPooler\n};\n\nmodule.exports = PooledClass;","/**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n */\n\n'use strict';\n\nvar _prodInvariant = require('./reactProdInvariant');\n\nvar ReactCurrentOwner = require('./ReactCurrentOwner');\nvar REACT_ELEMENT_TYPE = require('./ReactElementSymbol');\n\nvar getIteratorFn = require('./getIteratorFn');\nvar invariant = require('fbjs/lib/invariant');\nvar KeyEscapeUtils = require('./KeyEscapeUtils');\nvar warning = require('fbjs/lib/warning');\n\nvar SEPARATOR = '.';\nvar SUBSEPARATOR = ':';\n\n/**\n * This is inlined from ReactElement since this file is shared between\n * isomorphic and renderers. We could extract this to a\n *\n */\n\n/**\n * TODO: Test that a single child and an array with one item have the same key\n * pattern.\n */\n\nvar didWarnAboutMaps = false;\n\n/**\n * Generate a key string that identifies a component within a set.\n *\n * @param {*} component A component that could contain a manual key.\n * @param {number} index Index that is used if a manual key is not provided.\n * @return {string}\n */\nfunction getComponentKey(component, index) {\n // Do some typechecking here since we call this blindly. We want to ensure\n // that we don't block potential future ES APIs.\n if (component && typeof component === 'object' && component.key != null) {\n // Explicit key\n return KeyEscapeUtils.escape(component.key);\n }\n // Implicit key determined by the index in the set\n return index.toString(36);\n}\n\n/**\n * @param {?*} children Children tree container.\n * @param {!string} nameSoFar Name of the key path so far.\n * @param {!function} callback Callback to invoke with each child found.\n * @param {?*} traverseContext Used to pass information throughout the traversal\n * process.\n * @return {!number} The number of children in this subtree.\n */\nfunction traverseAllChildrenImpl(children, nameSoFar, callback, traverseContext) {\n var type = typeof children;\n\n if (type === 'undefined' || type === 'boolean') {\n // All of the above are perceived as null.\n children = null;\n }\n\n if (children === null || type === 'string' || type === 'number' ||\n // The following is inlined from ReactElement. This means we can optimize\n // some checks. React Fiber also inlines this logic for similar purposes.\n type === 'object' && children.$$typeof === REACT_ELEMENT_TYPE) {\n callback(traverseContext, children,\n // If it's the only child, treat the name as if it was wrapped in an array\n // so that it's consistent if the number of children grows.\n nameSoFar === '' ? SEPARATOR + getComponentKey(children, 0) : nameSoFar);\n return 1;\n }\n\n var child;\n var nextName;\n var subtreeCount = 0; // Count of children found in the current subtree.\n var nextNamePrefix = nameSoFar === '' ? SEPARATOR : nameSoFar + SUBSEPARATOR;\n\n if (Array.isArray(children)) {\n for (var i = 0; i < children.length; i++) {\n child = children[i];\n nextName = nextNamePrefix + getComponentKey(child, i);\n subtreeCount += traverseAllChildrenImpl(child, nextName, callback, traverseContext);\n }\n } else {\n var iteratorFn = getIteratorFn(children);\n if (iteratorFn) {\n var iterator = iteratorFn.call(children);\n var step;\n if (iteratorFn !== children.entries) {\n var ii = 0;\n while (!(step = iterator.next()).done) {\n child = step.value;\n nextName = nextNamePrefix + getComponentKey(child, ii++);\n subtreeCount += traverseAllChildrenImpl(child, nextName, callback, traverseContext);\n }\n } else {\n if (process.env.NODE_ENV !== 'production') {\n var mapsAsChildrenAddendum = '';\n if (ReactCurrentOwner.current) {\n var mapsAsChildrenOwnerName = ReactCurrentOwner.current.getName();\n if (mapsAsChildrenOwnerName) {\n mapsAsChildrenAddendum = ' Check the render method of `' + mapsAsChildrenOwnerName + '`.';\n }\n }\n process.env.NODE_ENV !== 'production' ? warning(didWarnAboutMaps, 'Using Maps as children is not yet fully supported. It is an ' + 'experimental feature that might be removed. Convert it to a ' + 'sequence / iterable of keyed ReactElements instead.%s', mapsAsChildrenAddendum) : void 0;\n didWarnAboutMaps = true;\n }\n // Iterator will provide entry [k,v] tuples rather than values.\n while (!(step = iterator.next()).done) {\n var entry = step.value;\n if (entry) {\n child = entry[1];\n nextName = nextNamePrefix + KeyEscapeUtils.escape(entry[0]) + SUBSEPARATOR + getComponentKey(child, 0);\n subtreeCount += traverseAllChildrenImpl(child, nextName, callback, traverseContext);\n }\n }\n }\n } else if (type === 'object') {\n var addendum = '';\n if (process.env.NODE_ENV !== 'production') {\n addendum = ' If you meant to render a collection of children, use an array ' + 'instead or wrap the object using createFragment(object) from the ' + 'React add-ons.';\n if (children._isReactElement) {\n addendum = \" It looks like you're using an element created by a different \" + 'version of React. Make sure to use only one copy of React.';\n }\n if (ReactCurrentOwner.current) {\n var name = ReactCurrentOwner.current.getName();\n if (name) {\n addendum += ' Check the render method of `' + name + '`.';\n }\n }\n }\n var childrenString = String(children);\n !false ? process.env.NODE_ENV !== 'production' ? invariant(false, 'Objects are not valid as a React child (found: %s).%s', childrenString === '[object Object]' ? 'object with keys {' + Object.keys(children).join(', ') + '}' : childrenString, addendum) : _prodInvariant('31', childrenString === '[object Object]' ? 'object with keys {' + Object.keys(children).join(', ') + '}' : childrenString, addendum) : void 0;\n }\n }\n\n return subtreeCount;\n}\n\n/**\n * Traverses children that are typically specified as `props.children`, but\n * might also be specified through attributes:\n *\n * - `traverseAllChildren(this.props.children, ...)`\n * - `traverseAllChildren(this.props.leftPanelChildren, ...)`\n *\n * The `traverseContext` is an optional argument that is passed through the\n * entire traversal. It can be used to store accumulations or anything else that\n * the callback might find relevant.\n *\n * @param {?*} children Children tree object.\n * @param {!function} callback To invoke upon traversing each child.\n * @param {?*} traverseContext Context for traversal.\n * @return {!number} The number of children in this subtree.\n */\nfunction traverseAllChildren(children, callback, traverseContext) {\n if (children == null) {\n return 0;\n }\n\n return traverseAllChildrenImpl(children, '', callback, traverseContext);\n}\n\nmodule.exports = traverseAllChildren;","/**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * \n */\n\n'use strict';\n\n/* global Symbol */\n\nvar ITERATOR_SYMBOL = typeof Symbol === 'function' && Symbol.iterator;\nvar FAUX_ITERATOR_SYMBOL = '@@iterator'; // Before Symbol spec.\n\n/**\n * Returns the iterator method function contained on the iterable object.\n *\n * Be sure to invoke the function with the iterable as context:\n *\n * var iteratorFn = getIteratorFn(myIterable);\n * if (iteratorFn) {\n * var iterator = iteratorFn.call(myIterable);\n * ...\n * }\n *\n * @param {?object} maybeIterable\n * @return {?function}\n */\nfunction getIteratorFn(maybeIterable) {\n var iteratorFn = maybeIterable && (ITERATOR_SYMBOL && maybeIterable[ITERATOR_SYMBOL] || maybeIterable[FAUX_ITERATOR_SYMBOL]);\n if (typeof iteratorFn === 'function') {\n return iteratorFn;\n }\n}\n\nmodule.exports = getIteratorFn;","/**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * \n */\n\n'use strict';\n\n/**\n * Escape and wrap key so it is safe to use as a reactid\n *\n * @param {string} key to be escaped.\n * @return {string} the escaped key.\n */\n\nfunction escape(key) {\n var escapeRegex = /[=:]/g;\n var escaperLookup = {\n '=': '=0',\n ':': '=2'\n };\n var escapedString = ('' + key).replace(escapeRegex, function (match) {\n return escaperLookup[match];\n });\n\n return '$' + escapedString;\n}\n\n/**\n * Unescape and unwrap key for human-readable display\n *\n * @param {string} key to unescape.\n * @return {string} the unescaped key.\n */\nfunction unescape(key) {\n var unescapeRegex = /(=0|=2)/g;\n var unescaperLookup = {\n '=0': '=',\n '=2': ':'\n };\n var keySubstring = key[0] === '.' && key[1] === '$' ? key.substring(2) : key.substring(1);\n\n return ('' + keySubstring).replace(unescapeRegex, function (match) {\n return unescaperLookup[match];\n });\n}\n\nvar KeyEscapeUtils = {\n escape: escape,\n unescape: unescape\n};\n\nmodule.exports = KeyEscapeUtils;","/**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n */\n\n'use strict';\n\nvar ReactElement = require('./ReactElement');\n\n/**\n * Create a factory that creates HTML tag elements.\n *\n * @private\n */\nvar createDOMFactory = ReactElement.createFactory;\nif (process.env.NODE_ENV !== 'production') {\n var ReactElementValidator = require('./ReactElementValidator');\n createDOMFactory = ReactElementValidator.createFactory;\n}\n\n/**\n * Creates a mapping from supported HTML tags to `ReactDOMComponent` classes.\n *\n * @public\n */\nvar ReactDOMFactories = {\n a: createDOMFactory('a'),\n abbr: createDOMFactory('abbr'),\n address: createDOMFactory('address'),\n area: createDOMFactory('area'),\n article: createDOMFactory('article'),\n aside: createDOMFactory('aside'),\n audio: createDOMFactory('audio'),\n b: createDOMFactory('b'),\n base: createDOMFactory('base'),\n bdi: createDOMFactory('bdi'),\n bdo: createDOMFactory('bdo'),\n big: createDOMFactory('big'),\n blockquote: createDOMFactory('blockquote'),\n body: createDOMFactory('body'),\n br: createDOMFactory('br'),\n button: createDOMFactory('button'),\n canvas: createDOMFactory('canvas'),\n caption: createDOMFactory('caption'),\n cite: createDOMFactory('cite'),\n code: createDOMFactory('code'),\n col: createDOMFactory('col'),\n colgroup: createDOMFactory('colgroup'),\n data: createDOMFactory('data'),\n datalist: createDOMFactory('datalist'),\n dd: createDOMFactory('dd'),\n del: createDOMFactory('del'),\n details: createDOMFactory('details'),\n dfn: createDOMFactory('dfn'),\n dialog: createDOMFactory('dialog'),\n div: createDOMFactory('div'),\n dl: createDOMFactory('dl'),\n dt: createDOMFactory('dt'),\n em: createDOMFactory('em'),\n embed: createDOMFactory('embed'),\n fieldset: createDOMFactory('fieldset'),\n figcaption: createDOMFactory('figcaption'),\n figure: createDOMFactory('figure'),\n footer: createDOMFactory('footer'),\n form: createDOMFactory('form'),\n h1: createDOMFactory('h1'),\n h2: createDOMFactory('h2'),\n h3: createDOMFactory('h3'),\n h4: createDOMFactory('h4'),\n h5: createDOMFactory('h5'),\n h6: createDOMFactory('h6'),\n head: createDOMFactory('head'),\n header: createDOMFactory('header'),\n hgroup: createDOMFactory('hgroup'),\n hr: createDOMFactory('hr'),\n html: createDOMFactory('html'),\n i: createDOMFactory('i'),\n iframe: createDOMFactory('iframe'),\n img: createDOMFactory('img'),\n input: createDOMFactory('input'),\n ins: createDOMFactory('ins'),\n kbd: createDOMFactory('kbd'),\n keygen: createDOMFactory('keygen'),\n label: createDOMFactory('label'),\n legend: createDOMFactory('legend'),\n li: createDOMFactory('li'),\n link: createDOMFactory('link'),\n main: createDOMFactory('main'),\n map: createDOMFactory('map'),\n mark: createDOMFactory('mark'),\n menu: createDOMFactory('menu'),\n menuitem: createDOMFactory('menuitem'),\n meta: createDOMFactory('meta'),\n meter: createDOMFactory('meter'),\n nav: createDOMFactory('nav'),\n noscript: createDOMFactory('noscript'),\n object: createDOMFactory('object'),\n ol: createDOMFactory('ol'),\n optgroup: createDOMFactory('optgroup'),\n option: createDOMFactory('option'),\n output: createDOMFactory('output'),\n p: createDOMFactory('p'),\n param: createDOMFactory('param'),\n picture: createDOMFactory('picture'),\n pre: createDOMFactory('pre'),\n progress: createDOMFactory('progress'),\n q: createDOMFactory('q'),\n rp: createDOMFactory('rp'),\n rt: createDOMFactory('rt'),\n ruby: createDOMFactory('ruby'),\n s: createDOMFactory('s'),\n samp: createDOMFactory('samp'),\n script: createDOMFactory('script'),\n section: createDOMFactory('section'),\n select: createDOMFactory('select'),\n small: createDOMFactory('small'),\n source: createDOMFactory('source'),\n span: createDOMFactory('span'),\n strong: createDOMFactory('strong'),\n style: createDOMFactory('style'),\n sub: createDOMFactory('sub'),\n summary: createDOMFactory('summary'),\n sup: createDOMFactory('sup'),\n table: createDOMFactory('table'),\n tbody: createDOMFactory('tbody'),\n td: createDOMFactory('td'),\n textarea: createDOMFactory('textarea'),\n tfoot: createDOMFactory('tfoot'),\n th: createDOMFactory('th'),\n thead: createDOMFactory('thead'),\n time: createDOMFactory('time'),\n title: createDOMFactory('title'),\n tr: createDOMFactory('tr'),\n track: createDOMFactory('track'),\n u: createDOMFactory('u'),\n ul: createDOMFactory('ul'),\n 'var': createDOMFactory('var'),\n video: createDOMFactory('video'),\n wbr: createDOMFactory('wbr'),\n\n // SVG\n circle: createDOMFactory('circle'),\n clipPath: createDOMFactory('clipPath'),\n defs: createDOMFactory('defs'),\n ellipse: createDOMFactory('ellipse'),\n g: createDOMFactory('g'),\n image: createDOMFactory('image'),\n line: createDOMFactory('line'),\n linearGradient: createDOMFactory('linearGradient'),\n mask: createDOMFactory('mask'),\n path: createDOMFactory('path'),\n pattern: createDOMFactory('pattern'),\n polygon: createDOMFactory('polygon'),\n polyline: createDOMFactory('polyline'),\n radialGradient: createDOMFactory('radialGradient'),\n rect: createDOMFactory('rect'),\n stop: createDOMFactory('stop'),\n svg: createDOMFactory('svg'),\n text: createDOMFactory('text'),\n tspan: createDOMFactory('tspan')\n};\n\nmodule.exports = ReactDOMFactories;","/**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n */\n\n'use strict';\n\nvar _require = require('./ReactElement'),\n isValidElement = _require.isValidElement;\n\nvar factory = require('prop-types/factory');\n\nmodule.exports = factory(isValidElement);","/**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n'use strict';\n\nvar ReactIs = require('react-is');\nvar assign = require('object-assign');\n\nvar ReactPropTypesSecret = require('./lib/ReactPropTypesSecret');\nvar has = require('./lib/has');\nvar checkPropTypes = require('./checkPropTypes');\n\nvar printWarning = function() {};\n\nif (process.env.NODE_ENV !== 'production') {\n printWarning = function(text) {\n var message = 'Warning: ' + text;\n if (typeof console !== 'undefined') {\n console.error(message);\n }\n try {\n // --- Welcome to debugging React ---\n // This error was thrown as a convenience so that you can use this stack\n // to find the callsite that caused this warning to fire.\n throw new Error(message);\n } catch (x) {}\n };\n}\n\nfunction emptyFunctionThatReturnsNull() {\n return null;\n}\n\nmodule.exports = function(isValidElement, throwOnDirectAccess) {\n /* global Symbol */\n var ITERATOR_SYMBOL = typeof Symbol === 'function' && Symbol.iterator;\n var FAUX_ITERATOR_SYMBOL = '@@iterator'; // Before Symbol spec.\n\n /**\n * Returns the iterator method function contained on the iterable object.\n *\n * Be sure to invoke the function with the iterable as context:\n *\n * var iteratorFn = getIteratorFn(myIterable);\n * if (iteratorFn) {\n * var iterator = iteratorFn.call(myIterable);\n * ...\n * }\n *\n * @param {?object} maybeIterable\n * @return {?function}\n */\n function getIteratorFn(maybeIterable) {\n var iteratorFn = maybeIterable && (ITERATOR_SYMBOL && maybeIterable[ITERATOR_SYMBOL] || maybeIterable[FAUX_ITERATOR_SYMBOL]);\n if (typeof iteratorFn === 'function') {\n return iteratorFn;\n }\n }\n\n /**\n * Collection of methods that allow declaration and validation of props that are\n * supplied to React components. Example usage:\n *\n * var Props = require('ReactPropTypes');\n * var MyArticle = React.createClass({\n * propTypes: {\n * // An optional string prop named \"description\".\n * description: Props.string,\n *\n * // A required enum prop named \"category\".\n * category: Props.oneOf(['News','Photos']).isRequired,\n *\n * // A prop named \"dialog\" that requires an instance of Dialog.\n * dialog: Props.instanceOf(Dialog).isRequired\n * },\n * render: function() { ... }\n * });\n *\n * A more formal specification of how these methods are used:\n *\n * type := array|bool|func|object|number|string|oneOf([...])|instanceOf(...)\n * decl := ReactPropTypes.{type}(.isRequired)?\n *\n * Each and every declaration produces a function with the same signature. This\n * allows the creation of custom validation functions. For example:\n *\n * var MyLink = React.createClass({\n * propTypes: {\n * // An optional string or URI prop named \"href\".\n * href: function(props, propName, componentName) {\n * var propValue = props[propName];\n * if (propValue != null && typeof propValue !== 'string' &&\n * !(propValue instanceof URI)) {\n * return new Error(\n * 'Expected a string or an URI for ' + propName + ' in ' +\n * componentName\n * );\n * }\n * }\n * },\n * render: function() {...}\n * });\n *\n * @internal\n */\n\n var ANONYMOUS = '<<anonymous>>';\n\n // Important!\n // Keep this list in sync with production version in `./factoryWithThrowingShims.js`.\n var ReactPropTypes = {\n array: createPrimitiveTypeChecker('array'),\n bigint: createPrimitiveTypeChecker('bigint'),\n bool: createPrimitiveTypeChecker('boolean'),\n func: createPrimitiveTypeChecker('function'),\n number: createPrimitiveTypeChecker('number'),\n object: createPrimitiveTypeChecker('object'),\n string: createPrimitiveTypeChecker('string'),\n symbol: createPrimitiveTypeChecker('symbol'),\n\n any: createAnyTypeChecker(),\n arrayOf: createArrayOfTypeChecker,\n element: createElementTypeChecker(),\n elementType: createElementTypeTypeChecker(),\n instanceOf: createInstanceTypeChecker,\n node: createNodeChecker(),\n objectOf: createObjectOfTypeChecker,\n oneOf: createEnumTypeChecker,\n oneOfType: createUnionTypeChecker,\n shape: createShapeTypeChecker,\n exact: createStrictShapeTypeChecker,\n };\n\n /**\n * inlined Object.is polyfill to avoid requiring consumers ship their own\n * https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/is\n */\n /*eslint-disable no-self-compare*/\n function is(x, y) {\n // SameValue algorithm\n if (x === y) {\n // Steps 1-5, 7-10\n // Steps 6.b-6.e: +0 != -0\n return x !== 0 || 1 / x === 1 / y;\n } else {\n // Step 6.a: NaN == NaN\n return x !== x && y !== y;\n }\n }\n /*eslint-enable no-self-compare*/\n\n /**\n * We use an Error-like object for backward compatibility as people may call\n * PropTypes directly and inspect their output. However, we don't use real\n * Errors anymore. We don't inspect their stack anyway, and creating them\n * is prohibitively expensive if they are created too often, such as what\n * happens in oneOfType() for any type before the one that matched.\n */\n function PropTypeError(message, data) {\n this.message = message;\n this.data = data && typeof data === 'object' ? data: {};\n this.stack = '';\n }\n // Make `instanceof Error` still work for returned errors.\n PropTypeError.prototype = Error.prototype;\n\n function createChainableTypeChecker(validate) {\n if (process.env.NODE_ENV !== 'production') {\n var manualPropTypeCallCache = {};\n var manualPropTypeWarningCount = 0;\n }\n function checkType(isRequired, props, propName, componentName, location, propFullName, secret) {\n componentName = componentName || ANONYMOUS;\n propFullName = propFullName || propName;\n\n if (secret !== ReactPropTypesSecret) {\n if (throwOnDirectAccess) {\n // New behavior only for users of `prop-types` package\n var err = new Error(\n 'Calling PropTypes validators directly is not supported by the `prop-types` package. ' +\n 'Use `PropTypes.checkPropTypes()` to call them. ' +\n 'Read more at http://fb.me/use-check-prop-types'\n );\n err.name = 'Invariant Violation';\n throw err;\n } else if (process.env.NODE_ENV !== 'production' && typeof console !== 'undefined') {\n // Old behavior for people using React.PropTypes\n var cacheKey = componentName + ':' + propName;\n if (\n !manualPropTypeCallCache[cacheKey] &&\n // Avoid spamming the console because they are often not actionable except for lib authors\n manualPropTypeWarningCount < 3\n ) {\n printWarning(\n 'You are manually calling a React.PropTypes validation ' +\n 'function for the `' + propFullName + '` prop on `' + componentName + '`. This is deprecated ' +\n 'and will throw in the standalone `prop-types` package. ' +\n 'You may be seeing this warning due to a third-party PropTypes ' +\n 'library. See https://fb.me/react-warning-dont-call-proptypes ' + 'for details.'\n );\n manualPropTypeCallCache[cacheKey] = true;\n manualPropTypeWarningCount++;\n }\n }\n }\n if (props[propName] == null) {\n if (isRequired) {\n if (props[propName] === null) {\n return new PropTypeError('The ' + location + ' `' + propFullName + '` is marked as required ' + ('in `' + componentName + '`, but its value is `null`.'));\n }\n return new PropTypeError('The ' + location + ' `' + propFullName + '` is marked as required in ' + ('`' + componentName + '`, but its value is `undefined`.'));\n }\n return null;\n } else {\n return validate(props, propName, componentName, location, propFullName);\n }\n }\n\n var chainedCheckType = checkType.bind(null, false);\n chainedCheckType.isRequired = checkType.bind(null, true);\n\n return chainedCheckType;\n }\n\n function createPrimitiveTypeChecker(expectedType) {\n function validate(props, propName, componentName, location, propFullName, secret) {\n var propValue = props[propName];\n var propType = getPropType(propValue);\n if (propType !== expectedType) {\n // `propValue` being instance of, say, date/regexp, pass the 'object'\n // check, but we can offer a more precise error message here rather than\n // 'of type `object`'.\n var preciseType = getPreciseType(propValue);\n\n return new PropTypeError(\n 'Invalid ' + location + ' `' + propFullName + '` of type ' + ('`' + preciseType + '` supplied to `' + componentName + '`, expected ') + ('`' + expectedType + '`.'),\n {expectedType: expectedType}\n );\n }\n return null;\n }\n return createChainableTypeChecker(validate);\n }\n\n function createAnyTypeChecker() {\n return createChainableTypeChecker(emptyFunctionThatReturnsNull);\n }\n\n function createArrayOfTypeChecker(typeChecker) {\n function validate(props, propName, componentName, location, propFullName) {\n if (typeof typeChecker !== 'function') {\n return new PropTypeError('Property `' + propFullName + '` of component `' + componentName + '` has invalid PropType notation inside arrayOf.');\n }\n var propValue = props[propName];\n if (!Array.isArray(propValue)) {\n var propType = getPropType(propValue);\n return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` of type ' + ('`' + propType + '` supplied to `' + componentName + '`, expected an array.'));\n }\n for (var i = 0; i < propValue.length; i++) {\n var error = typeChecker(propValue, i, componentName, location, propFullName + '[' + i + ']', ReactPropTypesSecret);\n if (error instanceof Error) {\n return error;\n }\n }\n return null;\n }\n return createChainableTypeChecker(validate);\n }\n\n function createElementTypeChecker() {\n function validate(props, propName, componentName, location, propFullName) {\n var propValue = props[propName];\n if (!isValidElement(propValue)) {\n var propType = getPropType(propValue);\n return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` of type ' + ('`' + propType + '` supplied to `' + componentName + '`, expected a single ReactElement.'));\n }\n return null;\n }\n return createChainableTypeChecker(validate);\n }\n\n function createElementTypeTypeChecker() {\n function validate(props, propName, componentName, location, propFullName) {\n var propValue = props[propName];\n if (!ReactIs.isValidElementType(propValue)) {\n var propType = getPropType(propValue);\n return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` of type ' + ('`' + propType + '` supplied to `' + componentName + '`, expected a single ReactElement type.'));\n }\n return null;\n }\n return createChainableTypeChecker(validate);\n }\n\n function createInstanceTypeChecker(expectedClass) {\n function validate(props, propName, componentName, location, propFullName) {\n if (!(props[propName] instanceof expectedClass)) {\n var expectedClassName = expectedClass.name || ANONYMOUS;\n var actualClassName = getClassName(props[propName]);\n return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` of type ' + ('`' + actualClassName + '` supplied to `' + componentName + '`, expected ') + ('instance of `' + expectedClassName + '`.'));\n }\n return null;\n }\n return createChainableTypeChecker(validate);\n }\n\n function createEnumTypeChecker(expectedValues) {\n if (!Array.isArray(expectedValues)) {\n if (process.env.NODE_ENV !== 'production') {\n if (arguments.length > 1) {\n printWarning(\n 'Invalid arguments supplied to oneOf, expected an array, got ' + arguments.length + ' arguments. ' +\n 'A common mistake is to write oneOf(x, y, z) instead of oneOf([x, y, z]).'\n );\n } else {\n printWarning('Invalid argument supplied to oneOf, expected an array.');\n }\n }\n return emptyFunctionThatReturnsNull;\n }\n\n function validate(props, propName, componentName, location, propFullName) {\n var propValue = props[propName];\n for (var i = 0; i < expectedValues.length; i++) {\n if (is(propValue, expectedValues[i])) {\n return null;\n }\n }\n\n var valuesString = JSON.stringify(expectedValues, function replacer(key, value) {\n var type = getPreciseType(value);\n if (type === 'symbol') {\n return String(value);\n }\n return value;\n });\n return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` of value `' + String(propValue) + '` ' + ('supplied to `' + componentName + '`, expected one of ' + valuesString + '.'));\n }\n return createChainableTypeChecker(validate);\n }\n\n function createObjectOfTypeChecker(typeChecker) {\n function validate(props, propName, componentName, location, propFullName) {\n if (typeof typeChecker !== 'function') {\n return new PropTypeError('Property `' + propFullName + '` of component `' + componentName + '` has invalid PropType notation inside objectOf.');\n }\n var propValue = props[propName];\n var propType = getPropType(propValue);\n if (propType !== 'object') {\n return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` of type ' + ('`' + propType + '` supplied to `' + componentName + '`, expected an object.'));\n }\n for (var key in propValue) {\n if (has(propValue, key)) {\n var error = typeChecker(propValue, key, componentName, location, propFullName + '.' + key, ReactPropTypesSecret);\n if (error instanceof Error) {\n return error;\n }\n }\n }\n return null;\n }\n return createChainableTypeChecker(validate);\n }\n\n function createUnionTypeChecker(arrayOfTypeCheckers) {\n if (!Array.isArray(arrayOfTypeCheckers)) {\n process.env.NODE_ENV !== 'production' ? printWarning('Invalid argument supplied to oneOfType, expected an instance of array.') : void 0;\n return emptyFunctionThatReturnsNull;\n }\n\n for (var i = 0; i < arrayOfTypeCheckers.length; i++) {\n var checker = arrayOfTypeCheckers[i];\n if (typeof checker !== 'function') {\n printWarning(\n 'Invalid argument supplied to oneOfType. Expected an array of check functions, but ' +\n 'received ' + getPostfixForTypeWarning(checker) + ' at index ' + i + '.'\n );\n return emptyFunctionThatReturnsNull;\n }\n }\n\n function validate(props, propName, componentName, location, propFullName) {\n var expectedTypes = [];\n for (var i = 0; i < arrayOfTypeCheckers.length; i++) {\n var checker = arrayOfTypeCheckers[i];\n var checkerResult = checker(props, propName, componentName, location, propFullName, ReactPropTypesSecret);\n if (checkerResult == null) {\n return null;\n }\n if (checkerResult.data && has(checkerResult.data, 'expectedType')) {\n expectedTypes.push(checkerResult.data.expectedType);\n }\n }\n var expectedTypesMessage = (expectedTypes.length > 0) ? ', expected one of type [' + expectedTypes.join(', ') + ']': '';\n return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` supplied to ' + ('`' + componentName + '`' + expectedTypesMessage + '.'));\n }\n return createChainableTypeChecker(validate);\n }\n\n function createNodeChecker() {\n function validate(props, propName, componentName, location, propFullName) {\n if (!isNode(props[propName])) {\n return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` supplied to ' + ('`' + componentName + '`, expected a ReactNode.'));\n }\n return null;\n }\n return createChainableTypeChecker(validate);\n }\n\n function invalidValidatorError(componentName, location, propFullName, key, type) {\n return new PropTypeError(\n (componentName || 'React class') + ': ' + location + ' type `' + propFullName + '.' + key + '` is invalid; ' +\n 'it must be a function, usually from the `prop-types` package, but received `' + type + '`.'\n );\n }\n\n function createShapeTypeChecker(shapeTypes) {\n function validate(props, propName, componentName, location, propFullName) {\n var propValue = props[propName];\n var propType = getPropType(propValue);\n if (propType !== 'object') {\n return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` of type `' + propType + '` ' + ('supplied to `' + componentName + '`, expected `object`.'));\n }\n for (var key in shapeTypes) {\n var checker = shapeTypes[key];\n if (typeof checker !== 'function') {\n return invalidValidatorError(componentName, location, propFullName, key, getPreciseType(checker));\n }\n var error = checker(propValue, key, componentName, location, propFullName + '.' + key, ReactPropTypesSecret);\n if (error) {\n return error;\n }\n }\n return null;\n }\n return createChainableTypeChecker(validate);\n }\n\n function createStrictShapeTypeChecker(shapeTypes) {\n function validate(props, propName, componentName, location, propFullName) {\n var propValue = props[propName];\n var propType = getPropType(propValue);\n if (propType !== 'object') {\n return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` of type `' + propType + '` ' + ('supplied to `' + componentName + '`, expected `object`.'));\n }\n // We need to check all keys in case some are required but missing from props.\n var allKeys = assign({}, props[propName], shapeTypes);\n for (var key in allKeys) {\n var checker = shapeTypes[key];\n if (has(shapeTypes, key) && typeof checker !== 'function') {\n return invalidValidatorError(componentName, location, propFullName, key, getPreciseType(checker));\n }\n if (!checker) {\n return new PropTypeError(\n 'Invalid ' + location + ' `' + propFullName + '` key `' + key + '` supplied to `' + componentName + '`.' +\n '\\nBad object: ' + JSON.stringify(props[propName], null, ' ') +\n '\\nValid keys: ' + JSON.stringify(Object.keys(shapeTypes), null, ' ')\n );\n }\n var error = checker(propValue, key, componentName, location, propFullName + '.' + key, ReactPropTypesSecret);\n if (error) {\n return error;\n }\n }\n return null;\n }\n\n return createChainableTypeChecker(validate);\n }\n\n function isNode(propValue) {\n switch (typeof propValue) {\n case 'number':\n case 'string':\n case 'undefined':\n return true;\n case 'boolean':\n return !propValue;\n case 'object':\n if (Array.isArray(propValue)) {\n return propValue.every(isNode);\n }\n if (propValue === null || isValidElement(propValue)) {\n return true;\n }\n\n var iteratorFn = getIteratorFn(propValue);\n if (iteratorFn) {\n var iterator = iteratorFn.call(propValue);\n var step;\n if (iteratorFn !== propValue.entries) {\n while (!(step = iterator.next()).done) {\n if (!isNode(step.value)) {\n return false;\n }\n }\n } else {\n // Iterator will provide entry [k,v] tuples rather than values.\n while (!(step = iterator.next()).done) {\n var entry = step.value;\n if (entry) {\n if (!isNode(entry[1])) {\n return false;\n }\n }\n }\n }\n } else {\n return false;\n }\n\n return true;\n default:\n return false;\n }\n }\n\n function isSymbol(propType, propValue) {\n // Native Symbol.\n if (propType === 'symbol') {\n return true;\n }\n\n // falsy value can't be a Symbol\n if (!propValue) {\n return false;\n }\n\n // 19.4.3.5 Symbol.prototype[@@toStringTag] === 'Symbol'\n if (propValue['@@toStringTag'] === 'Symbol') {\n return true;\n }\n\n // Fallback for non-spec compliant Symbols which are polyfilled.\n if (typeof Symbol === 'function' && propValue instanceof Symbol) {\n return true;\n }\n\n return false;\n }\n\n // Equivalent of `typeof` but with special handling for array and regexp.\n function getPropType(propValue) {\n var propType = typeof propValue;\n if (Array.isArray(propValue)) {\n return 'array';\n }\n if (propValue instanceof RegExp) {\n // Old webkits (at least until Android 4.0) return 'function' rather than\n // 'object' for typeof a RegExp. We'll normalize this here so that /bla/\n // passes PropTypes.object.\n return 'object';\n }\n if (isSymbol(propType, propValue)) {\n return 'symbol';\n }\n return propType;\n }\n\n // This handles more types than `getPropType`. Only used for error messages.\n // See `createPrimitiveTypeChecker`.\n function getPreciseType(propValue) {\n if (typeof propValue === 'undefined' || propValue === null) {\n return '' + propValue;\n }\n var propType = getPropType(propValue);\n if (propType === 'object') {\n if (propValue instanceof Date) {\n return 'date';\n } else if (propValue instanceof RegExp) {\n return 'regexp';\n }\n }\n return propType;\n }\n\n // Returns a string that is postfixed to a warning about an invalid type.\n // For example, \"undefined\" or \"of type array\"\n function getPostfixForTypeWarning(value) {\n var type = getPreciseType(value);\n switch (type) {\n case 'array':\n case 'object':\n return 'an ' + type;\n case 'boolean':\n case 'date':\n case 'regexp':\n return 'a ' + type;\n default:\n return type;\n }\n }\n\n // Returns class name of the object, if any.\n function getClassName(propValue) {\n if (!propValue.constructor || !propValue.constructor.name) {\n return ANONYMOUS;\n }\n return propValue.constructor.name;\n }\n\n ReactPropTypes.checkPropTypes = checkPropTypes;\n ReactPropTypes.resetWarningCache = checkPropTypes.resetWarningCache;\n ReactPropTypes.PropTypes = ReactPropTypes;\n\n return ReactPropTypes;\n};\n","/** @license React v16.13.1\n * react-is.production.min.js\n *\n * Copyright (c) Facebook, Inc. and its affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n'use strict';var b=\"function\"===typeof Symbol&&Symbol.for,c=b?Symbol.for(\"react.element\"):60103,d=b?Symbol.for(\"react.portal\"):60106,e=b?Symbol.for(\"react.fragment\"):60107,f=b?Symbol.for(\"react.strict_mode\"):60108,g=b?Symbol.for(\"react.profiler\"):60114,h=b?Symbol.for(\"react.provider\"):60109,k=b?Symbol.for(\"react.context\"):60110,l=b?Symbol.for(\"react.async_mode\"):60111,m=b?Symbol.for(\"react.concurrent_mode\"):60111,n=b?Symbol.for(\"react.forward_ref\"):60112,p=b?Symbol.for(\"react.suspense\"):60113,q=b?\nSymbol.for(\"react.suspense_list\"):60120,r=b?Symbol.for(\"react.memo\"):60115,t=b?Symbol.for(\"react.lazy\"):60116,v=b?Symbol.for(\"react.block\"):60121,w=b?Symbol.for(\"react.fundamental\"):60117,x=b?Symbol.for(\"react.responder\"):60118,y=b?Symbol.for(\"react.scope\"):60119;\nfunction z(a){if(\"object\"===typeof a&&null!==a){var u=a.$$typeof;switch(u){case c:switch(a=a.type,a){case l:case m:case e:case g:case f:case p:return a;default:switch(a=a&&a.$$typeof,a){case k:case n:case t:case r:case h:return a;default:return u}}case d:return u}}}function A(a){return z(a)===m}exports.AsyncMode=l;exports.ConcurrentMode=m;exports.ContextConsumer=k;exports.ContextProvider=h;exports.Element=c;exports.ForwardRef=n;exports.Fragment=e;exports.Lazy=t;exports.Memo=r;exports.Portal=d;\nexports.Profiler=g;exports.StrictMode=f;exports.Suspense=p;exports.isAsyncMode=function(a){return A(a)||z(a)===l};exports.isConcurrentMode=A;exports.isContextConsumer=function(a){return z(a)===k};exports.isContextProvider=function(a){return z(a)===h};exports.isElement=function(a){return\"object\"===typeof a&&null!==a&&a.$$typeof===c};exports.isForwardRef=function(a){return z(a)===n};exports.isFragment=function(a){return z(a)===e};exports.isLazy=function(a){return z(a)===t};\nexports.isMemo=function(a){return z(a)===r};exports.isPortal=function(a){return z(a)===d};exports.isProfiler=function(a){return z(a)===g};exports.isStrictMode=function(a){return z(a)===f};exports.isSuspense=function(a){return z(a)===p};\nexports.isValidElementType=function(a){return\"string\"===typeof a||\"function\"===typeof a||a===e||a===m||a===g||a===f||a===p||a===q||\"object\"===typeof a&&null!==a&&(a.$$typeof===t||a.$$typeof===r||a.$$typeof===h||a.$$typeof===k||a.$$typeof===n||a.$$typeof===w||a.$$typeof===x||a.$$typeof===y||a.$$typeof===v)};exports.typeOf=z;\n","module.exports = Function.call.bind(Object.prototype.hasOwnProperty);\n","/**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n'use strict';\n\nvar printWarning = function() {};\n\nif (process.env.NODE_ENV !== 'production') {\n var ReactPropTypesSecret = require('./lib/ReactPropTypesSecret');\n var loggedTypeFailures = {};\n var has = require('./lib/has');\n\n printWarning = function(text) {\n var message = 'Warning: ' + text;\n if (typeof console !== 'undefined') {\n console.error(message);\n }\n try {\n // --- Welcome to debugging React ---\n // This error was thrown as a convenience so that you can use this stack\n // to find the callsite that caused this warning to fire.\n throw new Error(message);\n } catch (x) { /**/ }\n };\n}\n\n/**\n * Assert that the values match with the type specs.\n * Error messages are memorized and will only be shown once.\n *\n * @param {object} typeSpecs Map of name to a ReactPropType\n * @param {object} values Runtime values that need to be type-checked\n * @param {string} location e.g. \"prop\", \"context\", \"child context\"\n * @param {string} componentName Name of the component for error messages.\n * @param {?Function} getStack Returns the component stack.\n * @private\n */\nfunction checkPropTypes(typeSpecs, values, location, componentName, getStack) {\n if (process.env.NODE_ENV !== 'production') {\n for (var typeSpecName in typeSpecs) {\n if (has(typeSpecs, typeSpecName)) {\n var error;\n // Prop type validation may throw. In case they do, we don't want to\n // fail the render phase where it didn't fail before. So we log it.\n // After these have been cleaned up, we'll let them throw.\n try {\n // This is intentionally an invariant that gets caught. It's the same\n // behavior as without this statement except with a better message.\n if (typeof typeSpecs[typeSpecName] !== 'function') {\n var err = Error(\n (componentName || 'React class') + ': ' + location + ' type `' + typeSpecName + '` is invalid; ' +\n 'it must be a function, usually from the `prop-types` package, but received `' + typeof typeSpecs[typeSpecName] + '`.' +\n 'This often happens because of typos such as `PropTypes.function` instead of `PropTypes.func`.'\n );\n err.name = 'Invariant Violation';\n throw err;\n }\n error = typeSpecs[typeSpecName](values, typeSpecName, componentName, location, null, ReactPropTypesSecret);\n } catch (ex) {\n error = ex;\n }\n if (error && !(error instanceof Error)) {\n printWarning(\n (componentName || 'React class') + ': type specification of ' +\n location + ' `' + typeSpecName + '` is invalid; the type checker ' +\n 'function must return `null` or an `Error` but returned a ' + typeof error + '. ' +\n 'You may have forgotten to pass an argument to the type checker ' +\n 'creator (arrayOf, instanceOf, objectOf, oneOf, oneOfType, and ' +\n 'shape all require an argument).'\n );\n }\n if (error instanceof Error && !(error.message in loggedTypeFailures)) {\n // Only monitor this failure once because there tends to be a lot of the\n // same error.\n loggedTypeFailures[error.message] = true;\n\n var stack = getStack ? getStack() : '';\n\n printWarning(\n 'Failed ' + location + ' type: ' + error.message + (stack != null ? stack : '')\n );\n }\n }\n }\n }\n}\n\n/**\n * Resets warning cache when testing.\n *\n * @private\n */\ncheckPropTypes.resetWarningCache = function() {\n if (process.env.NODE_ENV !== 'production') {\n loggedTypeFailures = {};\n }\n}\n\nmodule.exports = checkPropTypes;\n","/**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n */\n\n'use strict';\n\nmodule.exports = '15.7.0';\n","/**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n */\n\n'use strict';\n\nvar _require = require('./ReactBaseClasses'),\n Component = _require.Component;\n\nvar _require2 = require('./ReactElement'),\n isValidElement = _require2.isValidElement;\n\nvar ReactNoopUpdateQueue = require('./ReactNoopUpdateQueue');\nvar factory = require('create-react-class/factory');\n\nmodule.exports = factory(Component, isValidElement, ReactNoopUpdateQueue);","/**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n */\n\n'use strict';\n\nvar _assign = require('object-assign');\n\n// -- Inlined from fbjs --\n\nvar emptyObject = {};\n\nif (process.env.NODE_ENV !== 'production') {\n Object.freeze(emptyObject);\n}\n\nvar validateFormat = function validateFormat(format) {};\n\nif (process.env.NODE_ENV !== 'production') {\n validateFormat = function validateFormat(format) {\n if (format === undefined) {\n throw new Error('invariant requires an error message argument');\n }\n };\n}\n\nfunction _invariant(condition, format, a, b, c, d, e, f) {\n validateFormat(format);\n\n if (!condition) {\n var error;\n if (format === undefined) {\n error = new Error('Minified exception occurred; use the non-minified dev environment ' + 'for the full error message and additional helpful warnings.');\n } else {\n var args = [a, b, c, d, e, f];\n var argIndex = 0;\n error = new Error(format.replace(/%s/g, function () {\n return args[argIndex++];\n }));\n error.name = 'Invariant Violation';\n }\n\n error.framesToPop = 1; // we don't care about invariant's own frame\n throw error;\n }\n}\n\nvar warning = function(){};\n\nif (process.env.NODE_ENV !== 'production') {\n var printWarning = function printWarning(format) {\n for (var _len = arguments.length, args = Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {\n args[_key - 1] = arguments[_key];\n }\n\n var argIndex = 0;\n var message = 'Warning: ' + format.replace(/%s/g, function () {\n return args[argIndex++];\n });\n if (typeof console !== 'undefined') {\n console.error(message);\n }\n try {\n // --- Welcome to debugging React ---\n // This error was thrown as a convenience so that you can use this stack\n // to find the callsite that caused this warning to fire.\n throw new Error(message);\n } catch (x) {}\n };\n\n warning = function warning(condition, format) {\n if (format === undefined) {\n throw new Error('`warning(condition, format, ...args)` requires a warning ' + 'message argument');\n }\n\n if (format.indexOf('Failed Composite propType: ') === 0) {\n return; // Ignore CompositeComponent proptype check.\n }\n\n if (!condition) {\n for (var _len2 = arguments.length, args = Array(_len2 > 2 ? _len2 - 2 : 0), _key2 = 2; _key2 < _len2; _key2++) {\n args[_key2 - 2] = arguments[_key2];\n }\n\n printWarning.apply(undefined, [format].concat(args));\n }\n };\n}\n\n// /-- Inlined from fbjs --\n\nvar MIXINS_KEY = 'mixins';\n\n// Helper function to allow the creation of anonymous functions which do not\n// have .name set to the name of the variable being assigned to.\nfunction identity(fn) {\n return fn;\n}\n\nvar ReactPropTypeLocationNames;\nif (process.env.NODE_ENV !== 'production') {\n ReactPropTypeLocationNames = {\n prop: 'prop',\n context: 'context',\n childContext: 'child context'\n };\n} else {\n ReactPropTypeLocationNames = {};\n}\n\nfunction factory(ReactComponent, isValidElement, ReactNoopUpdateQueue) {\n /**\n * Policies that describe methods in `ReactClassInterface`.\n */\n\n var injectedMixins = [];\n\n /**\n * Composite components are higher-level components that compose other composite\n * or host components.\n *\n * To create a new type of `ReactClass`, pass a specification of\n * your new class to `React.createClass`. The only requirement of your class\n * specification is that you implement a `render` method.\n *\n * var MyComponent = React.createClass({\n * render: function() {\n * return <div>Hello World</div>;\n * }\n * });\n *\n * The class specification supports a specific protocol of methods that have\n * special meaning (e.g. `render`). See `ReactClassInterface` for\n * more the comprehensive protocol. Any other properties and methods in the\n * class specification will be available on the prototype.\n *\n * @interface ReactClassInterface\n * @internal\n */\n var ReactClassInterface = {\n /**\n * An array of Mixin objects to include when defining your component.\n *\n * @type {array}\n * @optional\n */\n mixins: 'DEFINE_MANY',\n\n /**\n * An object containing properties and methods that should be defined on\n * the component's constructor instead of its prototype (static methods).\n *\n * @type {object}\n * @optional\n */\n statics: 'DEFINE_MANY',\n\n /**\n * Definition of prop types for this component.\n *\n * @type {object}\n * @optional\n */\n propTypes: 'DEFINE_MANY',\n\n /**\n * Definition of context types for this component.\n *\n * @type {object}\n * @optional\n */\n contextTypes: 'DEFINE_MANY',\n\n /**\n * Definition of context types this component sets for its children.\n *\n * @type {object}\n * @optional\n */\n childContextTypes: 'DEFINE_MANY',\n\n // ==== Definition methods ====\n\n /**\n * Invoked when the component is mounted. Values in the mapping will be set on\n * `this.props` if that prop is not specified (i.e. using an `in` check).\n *\n * This method is invoked before `getInitialState` and therefore cannot rely\n * on `this.state` or use `this.setState`.\n *\n * @return {object}\n * @optional\n */\n getDefaultProps: 'DEFINE_MANY_MERGED',\n\n /**\n * Invoked once before the component is mounted. The return value will be used\n * as the initial value of `this.state`.\n *\n * getInitialState: function() {\n * return {\n * isOn: false,\n * fooBaz: new BazFoo()\n * }\n * }\n *\n * @return {object}\n * @optional\n */\n getInitialState: 'DEFINE_MANY_MERGED',\n\n /**\n * @return {object}\n * @optional\n */\n getChildContext: 'DEFINE_MANY_MERGED',\n\n /**\n * Uses props from `this.props` and state from `this.state` to render the\n * structure of the component.\n *\n * No guarantees are made about when or how often this method is invoked, so\n * it must not have side effects.\n *\n * render: function() {\n * var name = this.props.name;\n * return <div>Hello, {name}!</div>;\n * }\n *\n * @return {ReactComponent}\n * @required\n */\n render: 'DEFINE_ONCE',\n\n // ==== Delegate methods ====\n\n /**\n * Invoked when the component is initially created and about to be mounted.\n * This may have side effects, but any external subscriptions or data created\n * by this method must be cleaned up in `componentWillUnmount`.\n *\n * @optional\n */\n componentWillMount: 'DEFINE_MANY',\n\n /**\n * Invoked when the component has been mounted and has a DOM representation.\n * However, there is no guarantee that the DOM node is in the document.\n *\n * Use this as an opportunity to operate on the DOM when the component has\n * been mounted (initialized and rendered) for the first time.\n *\n * @param {DOMElement} rootNode DOM element representing the component.\n * @optional\n */\n componentDidMount: 'DEFINE_MANY',\n\n /**\n * Invoked before the component receives new props.\n *\n * Use this as an opportunity to react to a prop transition by updating the\n * state using `this.setState`. Current props are accessed via `this.props`.\n *\n * componentWillReceiveProps: function(nextProps, nextContext) {\n * this.setState({\n * likesIncreasing: nextProps.likeCount > this.props.likeCount\n * });\n * }\n *\n * NOTE: There is no equivalent `componentWillReceiveState`. An incoming prop\n * transition may cause a state change, but the opposite is not true. If you\n * need it, you are probably looking for `componentWillUpdate`.\n *\n * @param {object} nextProps\n * @optional\n */\n componentWillReceiveProps: 'DEFINE_MANY',\n\n /**\n * Invoked while deciding if the component should be updated as a result of\n * receiving new props, state and/or context.\n *\n * Use this as an opportunity to `return false` when you're certain that the\n * transition to the new props/state/context will not require a component\n * update.\n *\n * shouldComponentUpdate: function(nextProps, nextState, nextContext) {\n * return !equal(nextProps, this.props) ||\n * !equal(nextState, this.state) ||\n * !equal(nextContext, this.context);\n * }\n *\n * @param {object} nextProps\n * @param {?object} nextState\n * @param {?object} nextContext\n * @return {boolean} True if the component should update.\n * @optional\n */\n shouldComponentUpdate: 'DEFINE_ONCE',\n\n /**\n * Invoked when the component is about to update due to a transition from\n * `this.props`, `this.state` and `this.context` to `nextProps`, `nextState`\n * and `nextContext`.\n *\n * Use this as an opportunity to perform preparation before an update occurs.\n *\n * NOTE: You **cannot** use `this.setState()` in this method.\n *\n * @param {object} nextProps\n * @param {?object} nextState\n * @param {?object} nextContext\n * @param {ReactReconcileTransaction} transaction\n * @optional\n */\n componentWillUpdate: 'DEFINE_MANY',\n\n /**\n * Invoked when the component's DOM representation has been updated.\n *\n * Use this as an opportunity to operate on the DOM when the component has\n * been updated.\n *\n * @param {object} prevProps\n * @param {?object} prevState\n * @param {?object} prevContext\n * @param {DOMElement} rootNode DOM element representing the component.\n * @optional\n */\n componentDidUpdate: 'DEFINE_MANY',\n\n /**\n * Invoked when the component is about to be removed from its parent and have\n * its DOM representation destroyed.\n *\n * Use this as an opportunity to deallocate any external resources.\n *\n * NOTE: There is no `componentDidUnmount` since your component will have been\n * destroyed by that point.\n *\n * @optional\n */\n componentWillUnmount: 'DEFINE_MANY',\n\n /**\n * Replacement for (deprecated) `componentWillMount`.\n *\n * @optional\n */\n UNSAFE_componentWillMount: 'DEFINE_MANY',\n\n /**\n * Replacement for (deprecated) `componentWillReceiveProps`.\n *\n * @optional\n */\n UNSAFE_componentWillReceiveProps: 'DEFINE_MANY',\n\n /**\n * Replacement for (deprecated) `componentWillUpdate`.\n *\n * @optional\n */\n UNSAFE_componentWillUpdate: 'DEFINE_MANY',\n\n // ==== Advanced methods ====\n\n /**\n * Updates the component's currently mounted DOM representation.\n *\n * By default, this implements React's rendering and reconciliation algorithm.\n * Sophisticated clients may wish to override this.\n *\n * @param {ReactReconcileTransaction} transaction\n * @internal\n * @overridable\n */\n updateComponent: 'OVERRIDE_BASE'\n };\n\n /**\n * Similar to ReactClassInterface but for static methods.\n */\n var ReactClassStaticInterface = {\n /**\n * This method is invoked after a component is instantiated and when it\n * receives new props. Return an object to update state in response to\n * prop changes. Return null to indicate no change to state.\n *\n * If an object is returned, its keys will be merged into the existing state.\n *\n * @return {object || null}\n * @optional\n */\n getDerivedStateFromProps: 'DEFINE_MANY_MERGED'\n };\n\n /**\n * Mapping from class specification keys to special processing functions.\n *\n * Although these are declared like instance properties in the specification\n * when defining classes using `React.createClass`, they are actually static\n * and are accessible on the constructor instead of the prototype. Despite\n * being static, they must be defined outside of the \"statics\" key under\n * which all other static methods are defined.\n */\n var RESERVED_SPEC_KEYS = {\n displayName: function(Constructor, displayName) {\n Constructor.displayName = displayName;\n },\n mixins: function(Constructor, mixins) {\n if (mixins) {\n for (var i = 0; i < mixins.length; i++) {\n mixSpecIntoComponent(Constructor, mixins[i]);\n }\n }\n },\n childContextTypes: function(Constructor, childContextTypes) {\n if (process.env.NODE_ENV !== 'production') {\n validateTypeDef(Constructor, childContextTypes, 'childContext');\n }\n Constructor.childContextTypes = _assign(\n {},\n Constructor.childContextTypes,\n childContextTypes\n );\n },\n contextTypes: function(Constructor, contextTypes) {\n if (process.env.NODE_ENV !== 'production') {\n validateTypeDef(Constructor, contextTypes, 'context');\n }\n Constructor.contextTypes = _assign(\n {},\n Constructor.contextTypes,\n contextTypes\n );\n },\n /**\n * Special case getDefaultProps which should move into statics but requires\n * automatic merging.\n */\n getDefaultProps: function(Constructor, getDefaultProps) {\n if (Constructor.getDefaultProps) {\n Constructor.getDefaultProps = createMergedResultFunction(\n Constructor.getDefaultProps,\n getDefaultProps\n );\n } else {\n Constructor.getDefaultProps = getDefaultProps;\n }\n },\n propTypes: function(Constructor, propTypes) {\n if (process.env.NODE_ENV !== 'production') {\n validateTypeDef(Constructor, propTypes, 'prop');\n }\n Constructor.propTypes = _assign({}, Constructor.propTypes, propTypes);\n },\n statics: function(Constructor, statics) {\n mixStaticSpecIntoComponent(Constructor, statics);\n },\n autobind: function() {}\n };\n\n function validateTypeDef(Constructor, typeDef, location) {\n for (var propName in typeDef) {\n if (typeDef.hasOwnProperty(propName)) {\n // use a warning instead of an _invariant so components\n // don't show up in prod but only in __DEV__\n if (process.env.NODE_ENV !== 'production') {\n warning(\n typeof typeDef[propName] === 'function',\n '%s: %s type `%s` is invalid; it must be a function, usually from ' +\n 'React.PropTypes.',\n Constructor.displayName || 'ReactClass',\n ReactPropTypeLocationNames[location],\n propName\n );\n }\n }\n }\n }\n\n function validateMethodOverride(isAlreadyDefined, name) {\n var specPolicy = ReactClassInterface.hasOwnProperty(name)\n ? ReactClassInterface[name]\n : null;\n\n // Disallow overriding of base class methods unless explicitly allowed.\n if (ReactClassMixin.hasOwnProperty(name)) {\n _invariant(\n specPolicy === 'OVERRIDE_BASE',\n 'ReactClassInterface: You are attempting to override ' +\n '`%s` from your class specification. Ensure that your method names ' +\n 'do not overlap with React methods.',\n name\n );\n }\n\n // Disallow defining methods more than once unless explicitly allowed.\n if (isAlreadyDefined) {\n _invariant(\n specPolicy === 'DEFINE_MANY' || specPolicy === 'DEFINE_MANY_MERGED',\n 'ReactClassInterface: You are attempting to define ' +\n '`%s` on your component more than once. This conflict may be due ' +\n 'to a mixin.',\n name\n );\n }\n }\n\n /**\n * Mixin helper which handles policy validation and reserved\n * specification keys when building React classes.\n */\n function mixSpecIntoComponent(Constructor, spec) {\n if (!spec) {\n if (process.env.NODE_ENV !== 'production') {\n var typeofSpec = typeof spec;\n var isMixinValid = typeofSpec === 'object' && spec !== null;\n\n if (process.env.NODE_ENV !== 'production') {\n warning(\n isMixinValid,\n \"%s: You're attempting to include a mixin that is either null \" +\n 'or not an object. Check the mixins included by the component, ' +\n 'as well as any mixins they include themselves. ' +\n 'Expected object but got %s.',\n Constructor.displayName || 'ReactClass',\n spec === null ? null : typeofSpec\n );\n }\n }\n\n return;\n }\n\n _invariant(\n typeof spec !== 'function',\n \"ReactClass: You're attempting to \" +\n 'use a component class or function as a mixin. Instead, just use a ' +\n 'regular object.'\n );\n _invariant(\n !isValidElement(spec),\n \"ReactClass: You're attempting to \" +\n 'use a component as a mixin. Instead, just use a regular object.'\n );\n\n var proto = Constructor.prototype;\n var autoBindPairs = proto.__reactAutoBindPairs;\n\n // By handling mixins before any other properties, we ensure the same\n // chaining order is applied to methods with DEFINE_MANY policy, whether\n // mixins are listed before or after these methods in the spec.\n if (spec.hasOwnProperty(MIXINS_KEY)) {\n RESERVED_SPEC_KEYS.mixins(Constructor, spec.mixins);\n }\n\n for (var name in spec) {\n if (!spec.hasOwnProperty(name)) {\n continue;\n }\n\n if (name === MIXINS_KEY) {\n // We have already handled mixins in a special case above.\n continue;\n }\n\n var property = spec[name];\n var isAlreadyDefined = proto.hasOwnProperty(name);\n validateMethodOverride(isAlreadyDefined, name);\n\n if (RESERVED_SPEC_KEYS.hasOwnProperty(name)) {\n RESERVED_SPEC_KEYS[name](Constructor, property);\n } else {\n // Setup methods on prototype:\n // The following member methods should not be automatically bound:\n // 1. Expected ReactClass methods (in the \"interface\").\n // 2. Overridden methods (that were mixed in).\n var isReactClassMethod = ReactClassInterface.hasOwnProperty(name);\n var isFunction = typeof property === 'function';\n var shouldAutoBind =\n isFunction &&\n !isReactClassMethod &&\n !isAlreadyDefined &&\n spec.autobind !== false;\n\n if (shouldAutoBind) {\n autoBindPairs.push(name, property);\n proto[name] = property;\n } else {\n if (isAlreadyDefined) {\n var specPolicy = ReactClassInterface[name];\n\n // These cases should already be caught by validateMethodOverride.\n _invariant(\n isReactClassMethod &&\n (specPolicy === 'DEFINE_MANY_MERGED' ||\n specPolicy === 'DEFINE_MANY'),\n 'ReactClass: Unexpected spec policy %s for key %s ' +\n 'when mixing in component specs.',\n specPolicy,\n name\n );\n\n // For methods which are defined more than once, call the existing\n // methods before calling the new property, merging if appropriate.\n if (specPolicy === 'DEFINE_MANY_MERGED') {\n proto[name] = createMergedResultFunction(proto[name], property);\n } else if (specPolicy === 'DEFINE_MANY') {\n proto[name] = createChainedFunction(proto[name], property);\n }\n } else {\n proto[name] = property;\n if (process.env.NODE_ENV !== 'production') {\n // Add verbose displayName to the function, which helps when looking\n // at profiling tools.\n if (typeof property === 'function' && spec.displayName) {\n proto[name].displayName = spec.displayName + '_' + name;\n }\n }\n }\n }\n }\n }\n }\n\n function mixStaticSpecIntoComponent(Constructor, statics) {\n if (!statics) {\n return;\n }\n\n for (var name in statics) {\n var property = statics[name];\n if (!statics.hasOwnProperty(name)) {\n continue;\n }\n\n var isReserved = name in RESERVED_SPEC_KEYS;\n _invariant(\n !isReserved,\n 'ReactClass: You are attempting to define a reserved ' +\n 'property, `%s`, that shouldn\\'t be on the \"statics\" key. Define it ' +\n 'as an instance property instead; it will still be accessible on the ' +\n 'constructor.',\n name\n );\n\n var isAlreadyDefined = name in Constructor;\n if (isAlreadyDefined) {\n var specPolicy = ReactClassStaticInterface.hasOwnProperty(name)\n ? ReactClassStaticInterface[name]\n : null;\n\n _invariant(\n specPolicy === 'DEFINE_MANY_MERGED',\n 'ReactClass: You are attempting to define ' +\n '`%s` on your component more than once. This conflict may be ' +\n 'due to a mixin.',\n name\n );\n\n Constructor[name] = createMergedResultFunction(Constructor[name], property);\n\n return;\n }\n\n Constructor[name] = property;\n }\n }\n\n /**\n * Merge two objects, but throw if both contain the same key.\n *\n * @param {object} one The first object, which is mutated.\n * @param {object} two The second object\n * @return {object} one after it has been mutated to contain everything in two.\n */\n function mergeIntoWithNoDuplicateKeys(one, two) {\n _invariant(\n one && two && typeof one === 'object' && typeof two === 'object',\n 'mergeIntoWithNoDuplicateKeys(): Cannot merge non-objects.'\n );\n\n for (var key in two) {\n if (two.hasOwnProperty(key)) {\n _invariant(\n one[key] === undefined,\n 'mergeIntoWithNoDuplicateKeys(): ' +\n 'Tried to merge two objects with the same key: `%s`. This conflict ' +\n 'may be due to a mixin; in particular, this may be caused by two ' +\n 'getInitialState() or getDefaultProps() methods returning objects ' +\n 'with clashing keys.',\n key\n );\n one[key] = two[key];\n }\n }\n return one;\n }\n\n /**\n * Creates a function that invokes two functions and merges their return values.\n *\n * @param {function} one Function to invoke first.\n * @param {function} two Function to invoke second.\n * @return {function} Function that invokes the two argument functions.\n * @private\n */\n function createMergedResultFunction(one, two) {\n return function mergedResult() {\n var a = one.apply(this, arguments);\n var b = two.apply(this, arguments);\n if (a == null) {\n return b;\n } else if (b == null) {\n return a;\n }\n var c = {};\n mergeIntoWithNoDuplicateKeys(c, a);\n mergeIntoWithNoDuplicateKeys(c, b);\n return c;\n };\n }\n\n /**\n * Creates a function that invokes two functions and ignores their return vales.\n *\n * @param {function} one Function to invoke first.\n * @param {function} two Function to invoke second.\n * @return {function} Function that invokes the two argument functions.\n * @private\n */\n function createChainedFunction(one, two) {\n return function chainedFunction() {\n one.apply(this, arguments);\n two.apply(this, arguments);\n };\n }\n\n /**\n * Binds a method to the component.\n *\n * @param {object} component Component whose method is going to be bound.\n * @param {function} method Method to be bound.\n * @return {function} The bound method.\n */\n function bindAutoBindMethod(component, method) {\n var boundMethod = method.bind(component);\n if (process.env.NODE_ENV !== 'production') {\n boundMethod.__reactBoundContext = component;\n boundMethod.__reactBoundMethod = method;\n boundMethod.__reactBoundArguments = null;\n var componentName = component.constructor.displayName;\n var _bind = boundMethod.bind;\n boundMethod.bind = function(newThis) {\n for (\n var _len = arguments.length,\n args = Array(_len > 1 ? _len - 1 : 0),\n _key = 1;\n _key < _len;\n _key++\n ) {\n args[_key - 1] = arguments[_key];\n }\n\n // User is trying to bind() an autobound method; we effectively will\n // ignore the value of \"this\" that the user is trying to use, so\n // let's warn.\n if (newThis !== component && newThis !== null) {\n if (process.env.NODE_ENV !== 'production') {\n warning(\n false,\n 'bind(): React component methods may only be bound to the ' +\n 'component instance. See %s',\n componentName\n );\n }\n } else if (!args.length) {\n if (process.env.NODE_ENV !== 'production') {\n warning(\n false,\n 'bind(): You are binding a component method to the component. ' +\n 'React does this for you automatically in a high-performance ' +\n 'way, so you can safely remove this call. See %s',\n componentName\n );\n }\n return boundMethod;\n }\n var reboundMethod = _bind.apply(boundMethod, arguments);\n reboundMethod.__reactBoundContext = component;\n reboundMethod.__reactBoundMethod = method;\n reboundMethod.__reactBoundArguments = args;\n return reboundMethod;\n };\n }\n return boundMethod;\n }\n\n /**\n * Binds all auto-bound methods in a component.\n *\n * @param {object} component Component whose method is going to be bound.\n */\n function bindAutoBindMethods(component) {\n var pairs = component.__reactAutoBindPairs;\n for (var i = 0; i < pairs.length; i += 2) {\n var autoBindKey = pairs[i];\n var method = pairs[i + 1];\n component[autoBindKey] = bindAutoBindMethod(component, method);\n }\n }\n\n var IsMountedPreMixin = {\n componentDidMount: function() {\n this.__isMounted = true;\n }\n };\n\n var IsMountedPostMixin = {\n componentWillUnmount: function() {\n this.__isMounted = false;\n }\n };\n\n /**\n * Add more to the ReactClass base class. These are all legacy features and\n * therefore not already part of the modern ReactComponent.\n */\n var ReactClassMixin = {\n /**\n * TODO: This will be deprecated because state should always keep a consistent\n * type signature and the only use case for this, is to avoid that.\n */\n replaceState: function(newState, callback) {\n this.updater.enqueueReplaceState(this, newState, callback);\n },\n\n /**\n * Checks whether or not this composite component is mounted.\n * @return {boolean} True if mounted, false otherwise.\n * @protected\n * @final\n */\n isMounted: function() {\n if (process.env.NODE_ENV !== 'production') {\n warning(\n this.__didWarnIsMounted,\n '%s: isMounted is deprecated. Instead, make sure to clean up ' +\n 'subscriptions and pending requests in componentWillUnmount to ' +\n 'prevent memory leaks.',\n (this.constructor && this.constructor.displayName) ||\n this.name ||\n 'Component'\n );\n this.__didWarnIsMounted = true;\n }\n return !!this.__isMounted;\n }\n };\n\n var ReactClassComponent = function() {};\n _assign(\n ReactClassComponent.prototype,\n ReactComponent.prototype,\n ReactClassMixin\n );\n\n /**\n * Creates a composite component class given a class specification.\n * See https://facebook.github.io/react/docs/top-level-api.html#react.createclass\n *\n * @param {object} spec Class specification (which must define `render`).\n * @return {function} Component constructor function.\n * @public\n */\n function createClass(spec) {\n // To keep our warnings more understandable, we'll use a little hack here to\n // ensure that Constructor.name !== 'Constructor'. This makes sure we don't\n // unnecessarily identify a class without displayName as 'Constructor'.\n var Constructor = identity(function(props, context, updater) {\n // This constructor gets overridden by mocks. The argument is used\n // by mocks to assert on what gets mounted.\n\n if (process.env.NODE_ENV !== 'production') {\n warning(\n this instanceof Constructor,\n 'Something is calling a React component directly. Use a factory or ' +\n 'JSX instead. See: https://fb.me/react-legacyfactory'\n );\n }\n\n // Wire up auto-binding\n if (this.__reactAutoBindPairs.length) {\n bindAutoBindMethods(this);\n }\n\n this.props = props;\n this.context = context;\n this.refs = emptyObject;\n this.updater = updater || ReactNoopUpdateQueue;\n\n this.state = null;\n\n // ReactClasses doesn't have constructors. Instead, they use the\n // getInitialState and componentWillMount methods for initialization.\n\n var initialState = this.getInitialState ? this.getInitialState() : null;\n if (process.env.NODE_ENV !== 'production') {\n // We allow auto-mocks to proceed as if they're returning null.\n if (\n initialState === undefined &&\n this.getInitialState._isMockFunction\n ) {\n // This is probably bad practice. Consider warning here and\n // deprecating this convenience.\n initialState = null;\n }\n }\n _invariant(\n typeof initialState === 'object' && !Array.isArray(initialState),\n '%s.getInitialState(): must return an object or null',\n Constructor.displayName || 'ReactCompositeComponent'\n );\n\n this.state = initialState;\n });\n Constructor.prototype = new ReactClassComponent();\n Constructor.prototype.constructor = Constructor;\n Constructor.prototype.__reactAutoBindPairs = [];\n\n injectedMixins.forEach(mixSpecIntoComponent.bind(null, Constructor));\n\n mixSpecIntoComponent(Constructor, IsMountedPreMixin);\n mixSpecIntoComponent(Constructor, spec);\n mixSpecIntoComponent(Constructor, IsMountedPostMixin);\n\n // Initialize the defaultProps property after all mixins have been merged.\n if (Constructor.getDefaultProps) {\n Constructor.defaultProps = Constructor.getDefaultProps();\n }\n\n if (process.env.NODE_ENV !== 'production') {\n // This is a tag to indicate that the use of these method names is ok,\n // since it's used with createClass. If it's not, then it's likely a\n // mistake so we'll warn you to use the static property, property\n // initializer or constructor respectively.\n if (Constructor.getDefaultProps) {\n Constructor.getDefaultProps.isReactClassApproved = {};\n }\n if (Constructor.prototype.getInitialState) {\n Constructor.prototype.getInitialState.isReactClassApproved = {};\n }\n }\n\n _invariant(\n Constructor.prototype.render,\n 'createClass(...): Class specification must implement a `render` method.'\n );\n\n if (process.env.NODE_ENV !== 'production') {\n warning(\n !Constructor.prototype.componentShouldUpdate,\n '%s has a method called ' +\n 'componentShouldUpdate(). Did you mean shouldComponentUpdate()? ' +\n 'The name is phrased as a question because the function is ' +\n 'expected to return a value.',\n spec.displayName || 'A component'\n );\n warning(\n !Constructor.prototype.componentWillRecieveProps,\n '%s has a method called ' +\n 'componentWillRecieveProps(). Did you mean componentWillReceiveProps()?',\n spec.displayName || 'A component'\n );\n warning(\n !Constructor.prototype.UNSAFE_componentWillRecieveProps,\n '%s has a method called UNSAFE_componentWillRecieveProps(). ' +\n 'Did you mean UNSAFE_componentWillReceiveProps()?',\n spec.displayName || 'A component'\n );\n }\n\n // Reduce time spent doing lookups by setting these on the prototype.\n for (var methodName in ReactClassInterface) {\n if (!Constructor.prototype[methodName]) {\n Constructor.prototype[methodName] = null;\n }\n }\n\n return Constructor;\n }\n\n return createClass;\n}\n\nmodule.exports = factory;\n","/**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n */\n'use strict';\n\nvar _prodInvariant = require('./reactProdInvariant');\n\nvar ReactElement = require('./ReactElement');\n\nvar invariant = require('fbjs/lib/invariant');\n\n/**\n * Returns the first child in a collection of children and verifies that there\n * is only one child in the collection.\n *\n * See https://facebook.github.io/react/docs/top-level-api.html#react.children.only\n *\n * The current implementation of this function assumes that a single child gets\n * passed without a wrapper, but the purpose of this helper function is to\n * abstract away the particular structure of children.\n *\n * @param {?object} children Child collection structure.\n * @return {ReactElement} The first and only `ReactElement` contained in the\n * structure.\n */\nfunction onlyChild(children) {\n !ReactElement.isValidElement(children) ? process.env.NODE_ENV !== 'production' ? invariant(false, 'React.Children.only expected to receive a single React element child.') : _prodInvariant('143') : void 0;\n return children;\n}\n\nmodule.exports = onlyChild;","/**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n */\n\n/* globals __REACT_DEVTOOLS_GLOBAL_HOOK__*/\n\n'use strict';\n\nvar ReactDOMComponentTree = require('./ReactDOMComponentTree');\nvar ReactDefaultInjection = require('./ReactDefaultInjection');\nvar ReactMount = require('./ReactMount');\nvar ReactReconciler = require('./ReactReconciler');\nvar ReactUpdates = require('./ReactUpdates');\nvar ReactVersion = require('./ReactVersion');\n\nvar findDOMNode = require('./findDOMNode');\nvar getHostComponentFromComposite = require('./getHostComponentFromComposite');\nvar renderSubtreeIntoContainer = require('./renderSubtreeIntoContainer');\nvar warning = require('fbjs/lib/warning');\n\nReactDefaultInjection.inject();\n\nvar ReactDOM = {\n findDOMNode: findDOMNode,\n render: ReactMount.render,\n unmountComponentAtNode: ReactMount.unmountComponentAtNode,\n version: ReactVersion,\n\n /* eslint-disable camelcase */\n unstable_batchedUpdates: ReactUpdates.batchedUpdates,\n unstable_renderSubtreeIntoContainer: renderSubtreeIntoContainer\n /* eslint-enable camelcase */\n};\n\n// Inject the runtime into a devtools global hook regardless of browser.\n// Allows for debugging when the hook is injected on the page.\nif (typeof __REACT_DEVTOOLS_GLOBAL_HOOK__ !== 'undefined' && typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.inject === 'function') {\n __REACT_DEVTOOLS_GLOBAL_HOOK__.inject({\n ComponentTree: {\n getClosestInstanceFromNode: ReactDOMComponentTree.getClosestInstanceFromNode,\n getNodeFromInstance: function (inst) {\n // inst is an internal instance (but could be a composite)\n if (inst._renderedComponent) {\n inst = getHostComponentFromComposite(inst);\n }\n if (inst) {\n return ReactDOMComponentTree.getNodeFromInstance(inst);\n } else {\n return null;\n }\n }\n },\n Mount: ReactMount,\n Reconciler: ReactReconciler\n });\n}\n\nif (process.env.NODE_ENV !== 'production') {\n var ExecutionEnvironment = require('fbjs/lib/ExecutionEnvironment');\n if (ExecutionEnvironment.canUseDOM && window.top === window.self) {\n // First check if devtools is not installed\n if (typeof __REACT_DEVTOOLS_GLOBAL_HOOK__ === 'undefined') {\n // If we're in Chrome or Firefox, provide a download link if not installed.\n if (navigator.userAgent.indexOf('Chrome') > -1 && navigator.userAgent.indexOf('Edge') === -1 || navigator.userAgent.indexOf('Firefox') > -1) {\n // Firefox does not have the issue with devtools loaded over file://\n var showFileUrlMessage = window.location.protocol.indexOf('http') === -1 && navigator.userAgent.indexOf('Firefox') === -1;\n console.debug('Download the React DevTools ' + (showFileUrlMessage ? 'and use an HTTP server (instead of a file: URL) ' : '') + 'for a better development experience: ' + 'https://fb.me/react-devtools');\n }\n }\n\n var testFunc = function testFn() {};\n process.env.NODE_ENV !== 'production' ? warning((testFunc.name || testFunc.toString()).indexOf('testFn') !== -1, \"It looks like you're using a minified copy of the development build \" + 'of React. When deploying React apps to production, make sure to use ' + 'the production build which skips development warnings and is faster. ' + 'See https://fb.me/react-minification for more details.') : void 0;\n\n // If we're in IE8, check to see if we are in compatibility mode and provide\n // information on preventing compatibility mode\n var ieCompatibilityMode = document.documentMode && document.documentMode < 8;\n\n process.env.NODE_ENV !== 'production' ? warning(!ieCompatibilityMode, 'Internet Explorer is running in compatibility mode; please add the ' + 'following tag to your HTML to prevent this from happening: ' + '<meta http-equiv=\"X-UA-Compatible\" content=\"IE=edge\" />') : void 0;\n\n var expectedFeatures = [\n // shims\n Array.isArray, Array.prototype.every, Array.prototype.forEach, Array.prototype.indexOf, Array.prototype.map, Date.now, Function.prototype.bind, Object.keys, String.prototype.trim];\n\n for (var i = 0; i < expectedFeatures.length; i++) {\n if (!expectedFeatures[i]) {\n process.env.NODE_ENV !== 'production' ? warning(false, 'One or more ES5 shims expected by React are not available: ' + 'https://fb.me/react-warning-polyfills') : void 0;\n break;\n }\n }\n }\n}\n\nif (process.env.NODE_ENV !== 'production') {\n var ReactInstrumentation = require('./ReactInstrumentation');\n var ReactDOMUnknownPropertyHook = require('./ReactDOMUnknownPropertyHook');\n var ReactDOMNullInputValuePropHook = require('./ReactDOMNullInputValuePropHook');\n var ReactDOMInvalidARIAHook = require('./ReactDOMInvalidARIAHook');\n\n ReactInstrumentation.debugTool.addHook(ReactDOMUnknownPropertyHook);\n ReactInstrumentation.debugTool.addHook(ReactDOMNullInputValuePropHook);\n ReactInstrumentation.debugTool.addHook(ReactDOMInvalidARIAHook);\n}\n\nmodule.exports = ReactDOM;","/**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n */\n\n'use strict';\n\nvar ARIADOMPropertyConfig = require('./ARIADOMPropertyConfig');\nvar BeforeInputEventPlugin = require('./BeforeInputEventPlugin');\nvar ChangeEventPlugin = require('./ChangeEventPlugin');\nvar DefaultEventPluginOrder = require('./DefaultEventPluginOrder');\nvar EnterLeaveEventPlugin = require('./EnterLeaveEventPlugin');\nvar HTMLDOMPropertyConfig = require('./HTMLDOMPropertyConfig');\nvar ReactComponentBrowserEnvironment = require('./ReactComponentBrowserEnvironment');\nvar ReactDOMComponent = require('./ReactDOMComponent');\nvar ReactDOMComponentTree = require('./ReactDOMComponentTree');\nvar ReactDOMEmptyComponent = require('./ReactDOMEmptyComponent');\nvar ReactDOMTreeTraversal = require('./ReactDOMTreeTraversal');\nvar ReactDOMTextComponent = require('./ReactDOMTextComponent');\nvar ReactDefaultBatchingStrategy = require('./ReactDefaultBatchingStrategy');\nvar ReactEventListener = require('./ReactEventListener');\nvar ReactInjection = require('./ReactInjection');\nvar ReactReconcileTransaction = require('./ReactReconcileTransaction');\nvar SVGDOMPropertyConfig = require('./SVGDOMPropertyConfig');\nvar SelectEventPlugin = require('./SelectEventPlugin');\nvar SimpleEventPlugin = require('./SimpleEventPlugin');\n\nvar alreadyInjected = false;\n\nfunction inject() {\n if (alreadyInjected) {\n // TODO: This is currently true because these injections are shared between\n // the client and the server package. They should be built independently\n // and not share any injection state. Then this problem will be solved.\n return;\n }\n alreadyInjected = true;\n\n ReactInjection.EventEmitter.injectReactEventListener(ReactEventListener);\n\n /**\n * Inject modules for resolving DOM hierarchy and plugin ordering.\n */\n ReactInjection.EventPluginHub.injectEventPluginOrder(DefaultEventPluginOrder);\n ReactInjection.EventPluginUtils.injectComponentTree(ReactDOMComponentTree);\n ReactInjection.EventPluginUtils.injectTreeTraversal(ReactDOMTreeTraversal);\n\n /**\n * Some important event plugins included by default (without having to require\n * them).\n */\n ReactInjection.EventPluginHub.injectEventPluginsByName({\n SimpleEventPlugin: SimpleEventPlugin,\n EnterLeaveEventPlugin: EnterLeaveEventPlugin,\n ChangeEventPlugin: ChangeEventPlugin,\n SelectEventPlugin: SelectEventPlugin,\n BeforeInputEventPlugin: BeforeInputEventPlugin\n });\n\n ReactInjection.HostComponent.injectGenericComponentClass(ReactDOMComponent);\n\n ReactInjection.HostComponent.injectTextComponentClass(ReactDOMTextComponent);\n\n ReactInjection.DOMProperty.injectDOMPropertyConfig(ARIADOMPropertyConfig);\n ReactInjection.DOMProperty.injectDOMPropertyConfig(HTMLDOMPropertyConfig);\n ReactInjection.DOMProperty.injectDOMPropertyConfig(SVGDOMPropertyConfig);\n\n ReactInjection.EmptyComponent.injectEmptyComponentFactory(function (instantiate) {\n return new ReactDOMEmptyComponent(instantiate);\n });\n\n ReactInjection.Updates.injectReconcileTransaction(ReactReconcileTransaction);\n ReactInjection.Updates.injectBatchingStrategy(ReactDefaultBatchingStrategy);\n\n ReactInjection.Component.injectEnvironment(ReactComponentBrowserEnvironment);\n}\n\nmodule.exports = {\n inject: inject\n};","/**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n */\n\n'use strict';\n\nvar ARIADOMPropertyConfig = {\n Properties: {\n // Global States and Properties\n 'aria-current': 0, // state\n 'aria-details': 0,\n 'aria-disabled': 0, // state\n 'aria-hidden': 0, // state\n 'aria-invalid': 0, // state\n 'aria-keyshortcuts': 0,\n 'aria-label': 0,\n 'aria-roledescription': 0,\n // Widget Attributes\n 'aria-autocomplete': 0,\n 'aria-checked': 0,\n 'aria-expanded': 0,\n 'aria-haspopup': 0,\n 'aria-level': 0,\n 'aria-modal': 0,\n 'aria-multiline': 0,\n 'aria-multiselectable': 0,\n 'aria-orientation': 0,\n 'aria-placeholder': 0,\n 'aria-pressed': 0,\n 'aria-readonly': 0,\n 'aria-required': 0,\n 'aria-selected': 0,\n 'aria-sort': 0,\n 'aria-valuemax': 0,\n 'aria-valuemin': 0,\n 'aria-valuenow': 0,\n 'aria-valuetext': 0,\n // Live Region Attributes\n 'aria-atomic': 0,\n 'aria-busy': 0,\n 'aria-live': 0,\n 'aria-relevant': 0,\n // Drag-and-Drop Attributes\n 'aria-dropeffect': 0,\n 'aria-grabbed': 0,\n // Relationship Attributes\n 'aria-activedescendant': 0,\n 'aria-colcount': 0,\n 'aria-colindex': 0,\n 'aria-colspan': 0,\n 'aria-controls': 0,\n 'aria-describedby': 0,\n 'aria-errormessage': 0,\n 'aria-flowto': 0,\n 'aria-labelledby': 0,\n 'aria-owns': 0,\n 'aria-posinset': 0,\n 'aria-rowcount': 0,\n 'aria-rowindex': 0,\n 'aria-rowspan': 0,\n 'aria-setsize': 0\n },\n DOMAttributeNames: {},\n DOMPropertyNames: {}\n};\n\nmodule.exports = ARIADOMPropertyConfig;","/**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n */\n\n'use strict';\n\nvar EventPropagators = require('./EventPropagators');\nvar ExecutionEnvironment = require('fbjs/lib/ExecutionEnvironment');\nvar FallbackCompositionState = require('./FallbackCompositionState');\nvar SyntheticCompositionEvent = require('./SyntheticCompositionEvent');\nvar SyntheticInputEvent = require('./SyntheticInputEvent');\n\nvar END_KEYCODES = [9, 13, 27, 32]; // Tab, Return, Esc, Space\nvar START_KEYCODE = 229;\n\nvar canUseCompositionEvent = ExecutionEnvironment.canUseDOM && 'CompositionEvent' in window;\n\nvar documentMode = null;\nif (ExecutionEnvironment.canUseDOM && 'documentMode' in document) {\n documentMode = document.documentMode;\n}\n\n// Webkit offers a very useful `textInput` event that can be used to\n// directly represent `beforeInput`. The IE `textinput` event is not as\n// useful, so we don't use it.\nvar canUseTextInputEvent = ExecutionEnvironment.canUseDOM && 'TextEvent' in window && !documentMode && !isPresto();\n\n// In IE9+, we have access to composition events, but the data supplied\n// by the native compositionend event may be incorrect. Japanese ideographic\n// spaces, for instance (\\u3000) are not recorded correctly.\nvar useFallbackCompositionData = ExecutionEnvironment.canUseDOM && (!canUseCompositionEvent || documentMode && documentMode > 8 && documentMode <= 11);\n\n/**\n * Opera <= 12 includes TextEvent in window, but does not fire\n * text input events. Rely on keypress instead.\n */\nfunction isPresto() {\n var opera = window.opera;\n return typeof opera === 'object' && typeof opera.version === 'function' && parseInt(opera.version(), 10) <= 12;\n}\n\nvar SPACEBAR_CODE = 32;\nvar SPACEBAR_CHAR = String.fromCharCode(SPACEBAR_CODE);\n\n// Events and their corresponding property names.\nvar eventTypes = {\n beforeInput: {\n phasedRegistrationNames: {\n bubbled: 'onBeforeInput',\n captured: 'onBeforeInputCapture'\n },\n dependencies: ['topCompositionEnd', 'topKeyPress', 'topTextInput', 'topPaste']\n },\n compositionEnd: {\n phasedRegistrationNames: {\n bubbled: 'onCompositionEnd',\n captured: 'onCompositionEndCapture'\n },\n dependencies: ['topBlur', 'topCompositionEnd', 'topKeyDown', 'topKeyPress', 'topKeyUp', 'topMouseDown']\n },\n compositionStart: {\n phasedRegistrationNames: {\n bubbled: 'onCompositionStart',\n captured: 'onCompositionStartCapture'\n },\n dependencies: ['topBlur', 'topCompositionStart', 'topKeyDown', 'topKeyPress', 'topKeyUp', 'topMouseDown']\n },\n compositionUpdate: {\n phasedRegistrationNames: {\n bubbled: 'onCompositionUpdate',\n captured: 'onCompositionUpdateCapture'\n },\n dependencies: ['topBlur', 'topCompositionUpdate', 'topKeyDown', 'topKeyPress', 'topKeyUp', 'topMouseDown']\n }\n};\n\n// Track whether we've ever handled a keypress on the space key.\nvar hasSpaceKeypress = false;\n\n/**\n * Return whether a native keypress event is assumed to be a command.\n * This is required because Firefox fires `keypress` events for key commands\n * (cut, copy, select-all, etc.) even though no character is inserted.\n */\nfunction isKeypressCommand(nativeEvent) {\n return (nativeEvent.ctrlKey || nativeEvent.altKey || nativeEvent.metaKey) &&\n // ctrlKey && altKey is equivalent to AltGr, and is not a command.\n !(nativeEvent.ctrlKey && nativeEvent.altKey);\n}\n\n/**\n * Translate native top level events into event types.\n *\n * @param {string} topLevelType\n * @return {object}\n */\nfunction getCompositionEventType(topLevelType) {\n switch (topLevelType) {\n case 'topCompositionStart':\n return eventTypes.compositionStart;\n case 'topCompositionEnd':\n return eventTypes.compositionEnd;\n case 'topCompositionUpdate':\n return eventTypes.compositionUpdate;\n }\n}\n\n/**\n * Does our fallback best-guess model think this event signifies that\n * composition has begun?\n *\n * @param {string} topLevelType\n * @param {object} nativeEvent\n * @return {boolean}\n */\nfunction isFallbackCompositionStart(topLevelType, nativeEvent) {\n return topLevelType === 'topKeyDown' && nativeEvent.keyCode === START_KEYCODE;\n}\n\n/**\n * Does our fallback mode think that this event is the end of composition?\n *\n * @param {string} topLevelType\n * @param {object} nativeEvent\n * @return {boolean}\n */\nfunction isFallbackCompositionEnd(topLevelType, nativeEvent) {\n switch (topLevelType) {\n case 'topKeyUp':\n // Command keys insert or clear IME input.\n return END_KEYCODES.indexOf(nativeEvent.keyCode) !== -1;\n case 'topKeyDown':\n // Expect IME keyCode on each keydown. If we get any other\n // code we must have exited earlier.\n return nativeEvent.keyCode !== START_KEYCODE;\n case 'topKeyPress':\n case 'topMouseDown':\n case 'topBlur':\n // Events are not possible without cancelling IME.\n return true;\n default:\n return false;\n }\n}\n\n/**\n * Google Input Tools provides composition data via a CustomEvent,\n * with the `data` property populated in the `detail` object. If this\n * is available on the event object, use it. If not, this is a plain\n * composition event and we have nothing special to extract.\n *\n * @param {object} nativeEvent\n * @return {?string}\n */\nfunction getDataFromCustomEvent(nativeEvent) {\n var detail = nativeEvent.detail;\n if (typeof detail === 'object' && 'data' in detail) {\n return detail.data;\n }\n return null;\n}\n\n// Track the current IME composition fallback object, if any.\nvar currentComposition = null;\n\n/**\n * @return {?object} A SyntheticCompositionEvent.\n */\nfunction extractCompositionEvent(topLevelType, targetInst, nativeEvent, nativeEventTarget) {\n var eventType;\n var fallbackData;\n\n if (canUseCompositionEvent) {\n eventType = getCompositionEventType(topLevelType);\n } else if (!currentComposition) {\n if (isFallbackCompositionStart(topLevelType, nativeEvent)) {\n eventType = eventTypes.compositionStart;\n }\n } else if (isFallbackCompositionEnd(topLevelType, nativeEvent)) {\n eventType = eventTypes.compositionEnd;\n }\n\n if (!eventType) {\n return null;\n }\n\n if (useFallbackCompositionData) {\n // The current composition is stored statically and must not be\n // overwritten while composition continues.\n if (!currentComposition && eventType === eventTypes.compositionStart) {\n currentComposition = FallbackCompositionState.getPooled(nativeEventTarget);\n } else if (eventType === eventTypes.compositionEnd) {\n if (currentComposition) {\n fallbackData = currentComposition.getData();\n }\n }\n }\n\n var event = SyntheticCompositionEvent.getPooled(eventType, targetInst, nativeEvent, nativeEventTarget);\n\n if (fallbackData) {\n // Inject data generated from fallback path into the synthetic event.\n // This matches the property of native CompositionEventInterface.\n event.data = fallbackData;\n } else {\n var customData = getDataFromCustomEvent(nativeEvent);\n if (customData !== null) {\n event.data = customData;\n }\n }\n\n EventPropagators.accumulateTwoPhaseDispatches(event);\n return event;\n}\n\n/**\n * @param {string} topLevelType Record from `EventConstants`.\n * @param {object} nativeEvent Native browser event.\n * @return {?string} The string corresponding to this `beforeInput` event.\n */\nfunction getNativeBeforeInputChars(topLevelType, nativeEvent) {\n switch (topLevelType) {\n case 'topCompositionEnd':\n return getDataFromCustomEvent(nativeEvent);\n case 'topKeyPress':\n /**\n * If native `textInput` events are available, our goal is to make\n * use of them. However, there is a special case: the spacebar key.\n * In Webkit, preventing default on a spacebar `textInput` event\n * cancels character insertion, but it *also* causes the browser\n * to fall back to its default spacebar behavior of scrolling the\n * page.\n *\n * Tracking at:\n * https://code.google.com/p/chromium/issues/detail?id=355103\n *\n * To avoid this issue, use the keypress event as if no `textInput`\n * event is available.\n */\n var which = nativeEvent.which;\n if (which !== SPACEBAR_CODE) {\n return null;\n }\n\n hasSpaceKeypress = true;\n return SPACEBAR_CHAR;\n\n case 'topTextInput':\n // Record the characters to be added to the DOM.\n var chars = nativeEvent.data;\n\n // If it's a spacebar character, assume that we have already handled\n // it at the keypress level and bail immediately. Android Chrome\n // doesn't give us keycodes, so we need to blacklist it.\n if (chars === SPACEBAR_CHAR && hasSpaceKeypress) {\n return null;\n }\n\n return chars;\n\n default:\n // For other native event types, do nothing.\n return null;\n }\n}\n\n/**\n * For browsers that do not provide the `textInput` event, extract the\n * appropriate string to use for SyntheticInputEvent.\n *\n * @param {string} topLevelType Record from `EventConstants`.\n * @param {object} nativeEvent Native browser event.\n * @return {?string} The fallback string for this `beforeInput` event.\n */\nfunction getFallbackBeforeInputChars(topLevelType, nativeEvent) {\n // If we are currently composing (IME) and using a fallback to do so,\n // try to extract the composed characters from the fallback object.\n // If composition event is available, we extract a string only at\n // compositionevent, otherwise extract it at fallback events.\n if (currentComposition) {\n if (topLevelType === 'topCompositionEnd' || !canUseCompositionEvent && isFallbackCompositionEnd(topLevelType, nativeEvent)) {\n var chars = currentComposition.getData();\n FallbackCompositionState.release(currentComposition);\n currentComposition = null;\n return chars;\n }\n return null;\n }\n\n switch (topLevelType) {\n case 'topPaste':\n // If a paste event occurs after a keypress, throw out the input\n // chars. Paste events should not lead to BeforeInput events.\n return null;\n case 'topKeyPress':\n /**\n * As of v27, Firefox may fire keypress events even when no character\n * will be inserted. A few possibilities:\n *\n * - `which` is `0`. Arrow keys, Esc key, etc.\n *\n * - `which` is the pressed key code, but no char is available.\n * Ex: 'AltGr + d` in Polish. There is no modified character for\n * this key combination and no character is inserted into the\n * document, but FF fires the keypress for char code `100` anyway.\n * No `input` event will occur.\n *\n * - `which` is the pressed key code, but a command combination is\n * being used. Ex: `Cmd+C`. No character is inserted, and no\n * `input` event will occur.\n */\n if (nativeEvent.which && !isKeypressCommand(nativeEvent)) {\n return String.fromCharCode(nativeEvent.which);\n }\n return null;\n case 'topCompositionEnd':\n return useFallbackCompositionData ? null : nativeEvent.data;\n default:\n return null;\n }\n}\n\n/**\n * Extract a SyntheticInputEvent for `beforeInput`, based on either native\n * `textInput` or fallback behavior.\n *\n * @return {?object} A SyntheticInputEvent.\n */\nfunction extractBeforeInputEvent(topLevelType, targetInst, nativeEvent, nativeEventTarget) {\n var chars;\n\n if (canUseTextInputEvent) {\n chars = getNativeBeforeInputChars(topLevelType, nativeEvent);\n } else {\n chars = getFallbackBeforeInputChars(topLevelType, nativeEvent);\n }\n\n // If no characters are being inserted, no BeforeInput event should\n // be fired.\n if (!chars) {\n return null;\n }\n\n var event = SyntheticInputEvent.getPooled(eventTypes.beforeInput, targetInst, nativeEvent, nativeEventTarget);\n\n event.data = chars;\n EventPropagators.accumulateTwoPhaseDispatches(event);\n return event;\n}\n\n/**\n * Create an `onBeforeInput` event to match\n * http://www.w3.org/TR/2013/WD-DOM-Level-3-Events-20131105/#events-inputevents.\n *\n * This event plugin is based on the native `textInput` event\n * available in Chrome, Safari, Opera, and IE. This event fires after\n * `onKeyPress` and `onCompositionEnd`, but before `onInput`.\n *\n * `beforeInput` is spec'd but not implemented in any browsers, and\n * the `input` event does not provide any useful information about what has\n * actually been added, contrary to the spec. Thus, `textInput` is the best\n * available event to identify the characters that have actually been inserted\n * into the target node.\n *\n * This plugin is also responsible for emitting `composition` events, thus\n * allowing us to share composition fallback code for both `beforeInput` and\n * `composition` event types.\n */\nvar BeforeInputEventPlugin = {\n eventTypes: eventTypes,\n\n extractEvents: function (topLevelType, targetInst, nativeEvent, nativeEventTarget) {\n return [extractCompositionEvent(topLevelType, targetInst, nativeEvent, nativeEventTarget), extractBeforeInputEvent(topLevelType, targetInst, nativeEvent, nativeEventTarget)];\n }\n};\n\nmodule.exports = BeforeInputEventPlugin;","/**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n */\n\n'use strict';\n\nvar _assign = require('object-assign');\n\nvar PooledClass = require('./PooledClass');\n\nvar getTextContentAccessor = require('./getTextContentAccessor');\n\n/**\n * This helper class stores information about text content of a target node,\n * allowing comparison of content before and after a given event.\n *\n * Identify the node where selection currently begins, then observe\n * both its text content and its current position in the DOM. Since the\n * browser may natively replace the target node during composition, we can\n * use its position to find its replacement.\n *\n * @param {DOMEventTarget} root\n */\nfunction FallbackCompositionState(root) {\n this._root = root;\n this._startText = this.getText();\n this._fallbackText = null;\n}\n\n_assign(FallbackCompositionState.prototype, {\n destructor: function () {\n this._root = null;\n this._startText = null;\n this._fallbackText = null;\n },\n\n /**\n * Get current text of input.\n *\n * @return {string}\n */\n getText: function () {\n if ('value' in this._root) {\n return this._root.value;\n }\n return this._root[getTextContentAccessor()];\n },\n\n /**\n * Determine the differing substring between the initially stored\n * text content and the current content.\n *\n * @return {string}\n */\n getData: function () {\n if (this._fallbackText) {\n return this._fallbackText;\n }\n\n var start;\n var startValue = this._startText;\n var startLength = startValue.length;\n var end;\n var endValue = this.getText();\n var endLength = endValue.length;\n\n for (start = 0; start < startLength; start++) {\n if (startValue[start] !== endValue[start]) {\n break;\n }\n }\n\n var minEnd = startLength - start;\n for (end = 1; end <= minEnd; end++) {\n if (startValue[startLength - end] !== endValue[endLength - end]) {\n break;\n }\n }\n\n var sliceTail = end > 1 ? 1 - end : undefined;\n this._fallbackText = endValue.slice(start, sliceTail);\n return this._fallbackText;\n }\n});\n\nPooledClass.addPoolingTo(FallbackCompositionState);\n\nmodule.exports = FallbackCompositionState;","/**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n */\n\n'use strict';\n\nvar SyntheticEvent = require('./SyntheticEvent');\n\n/**\n * @interface Event\n * @see http://www.w3.org/TR/DOM-Level-3-Events/#events-compositionevents\n */\nvar CompositionEventInterface = {\n data: null\n};\n\n/**\n * @param {object} dispatchConfig Configuration used to dispatch this event.\n * @param {string} dispatchMarker Marker identifying the event target.\n * @param {object} nativeEvent Native browser event.\n * @extends {SyntheticUIEvent}\n */\nfunction SyntheticCompositionEvent(dispatchConfig, dispatchMarker, nativeEvent, nativeEventTarget) {\n return SyntheticEvent.call(this, dispatchConfig, dispatchMarker, nativeEvent, nativeEventTarget);\n}\n\nSyntheticEvent.augmentClass(SyntheticCompositionEvent, CompositionEventInterface);\n\nmodule.exports = SyntheticCompositionEvent;","/**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n */\n\n'use strict';\n\nvar SyntheticEvent = require('./SyntheticEvent');\n\n/**\n * @interface Event\n * @see http://www.w3.org/TR/2013/WD-DOM-Level-3-Events-20131105\n * /#events-inputevents\n */\nvar InputEventInterface = {\n data: null\n};\n\n/**\n * @param {object} dispatchConfig Configuration used to dispatch this event.\n * @param {string} dispatchMarker Marker identifying the event target.\n * @param {object} nativeEvent Native browser event.\n * @extends {SyntheticUIEvent}\n */\nfunction SyntheticInputEvent(dispatchConfig, dispatchMarker, nativeEvent, nativeEventTarget) {\n return SyntheticEvent.call(this, dispatchConfig, dispatchMarker, nativeEvent, nativeEventTarget);\n}\n\nSyntheticEvent.augmentClass(SyntheticInputEvent, InputEventInterface);\n\nmodule.exports = SyntheticInputEvent;","/**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n */\n\n'use strict';\n\nvar EventPluginHub = require('./EventPluginHub');\nvar EventPropagators = require('./EventPropagators');\nvar ExecutionEnvironment = require('fbjs/lib/ExecutionEnvironment');\nvar ReactDOMComponentTree = require('./ReactDOMComponentTree');\nvar ReactUpdates = require('./ReactUpdates');\nvar SyntheticEvent = require('./SyntheticEvent');\n\nvar inputValueTracking = require('./inputValueTracking');\nvar getEventTarget = require('./getEventTarget');\nvar isEventSupported = require('./isEventSupported');\nvar isTextInputElement = require('./isTextInputElement');\n\nvar eventTypes = {\n change: {\n phasedRegistrationNames: {\n bubbled: 'onChange',\n captured: 'onChangeCapture'\n },\n dependencies: ['topBlur', 'topChange', 'topClick', 'topFocus', 'topInput', 'topKeyDown', 'topKeyUp', 'topSelectionChange']\n }\n};\n\nfunction createAndAccumulateChangeEvent(inst, nativeEvent, target) {\n var event = SyntheticEvent.getPooled(eventTypes.change, inst, nativeEvent, target);\n event.type = 'change';\n EventPropagators.accumulateTwoPhaseDispatches(event);\n return event;\n}\n/**\n * For IE shims\n */\nvar activeElement = null;\nvar activeElementInst = null;\n\n/**\n * SECTION: handle `change` event\n */\nfunction shouldUseChangeEvent(elem) {\n var nodeName = elem.nodeName && elem.nodeName.toLowerCase();\n return nodeName === 'select' || nodeName === 'input' && elem.type === 'file';\n}\n\nvar doesChangeEventBubble = false;\nif (ExecutionEnvironment.canUseDOM) {\n // See `handleChange` comment below\n doesChangeEventBubble = isEventSupported('change') && (!document.documentMode || document.documentMode > 8);\n}\n\nfunction manualDispatchChangeEvent(nativeEvent) {\n var event = createAndAccumulateChangeEvent(activeElementInst, nativeEvent, getEventTarget(nativeEvent));\n\n // If change and propertychange bubbled, we'd just bind to it like all the\n // other events and have it go through ReactBrowserEventEmitter. Since it\n // doesn't, we manually listen for the events and so we have to enqueue and\n // process the abstract event manually.\n //\n // Batching is necessary here in order to ensure that all event handlers run\n // before the next rerender (including event handlers attached to ancestor\n // elements instead of directly on the input). Without this, controlled\n // components don't work properly in conjunction with event bubbling because\n // the component is rerendered and the value reverted before all the event\n // handlers can run. See https://github.com/facebook/react/issues/708.\n ReactUpdates.batchedUpdates(runEventInBatch, event);\n}\n\nfunction runEventInBatch(event) {\n EventPluginHub.enqueueEvents(event);\n EventPluginHub.processEventQueue(false);\n}\n\nfunction startWatchingForChangeEventIE8(target, targetInst) {\n activeElement = target;\n activeElementInst = targetInst;\n activeElement.attachEvent('onchange', manualDispatchChangeEvent);\n}\n\nfunction stopWatchingForChangeEventIE8() {\n if (!activeElement) {\n return;\n }\n activeElement.detachEvent('onchange', manualDispatchChangeEvent);\n activeElement = null;\n activeElementInst = null;\n}\n\nfunction getInstIfValueChanged(targetInst, nativeEvent) {\n var updated = inputValueTracking.updateValueIfChanged(targetInst);\n var simulated = nativeEvent.simulated === true && ChangeEventPlugin._allowSimulatedPassThrough;\n\n if (updated || simulated) {\n return targetInst;\n }\n}\n\nfunction getTargetInstForChangeEvent(topLevelType, targetInst) {\n if (topLevelType === 'topChange') {\n return targetInst;\n }\n}\n\nfunction handleEventsForChangeEventIE8(topLevelType, target, targetInst) {\n if (topLevelType === 'topFocus') {\n // stopWatching() should be a noop here but we call it just in case we\n // missed a blur event somehow.\n stopWatchingForChangeEventIE8();\n startWatchingForChangeEventIE8(target, targetInst);\n } else if (topLevelType === 'topBlur') {\n stopWatchingForChangeEventIE8();\n }\n}\n\n/**\n * SECTION: handle `input` event\n */\nvar isInputEventSupported = false;\nif (ExecutionEnvironment.canUseDOM) {\n // IE9 claims to support the input event but fails to trigger it when\n // deleting text, so we ignore its input events.\n\n isInputEventSupported = isEventSupported('input') && (!document.documentMode || document.documentMode > 9);\n}\n\n/**\n * (For IE <=9) Starts tracking propertychange events on the passed-in element\n * and override the value property so that we can distinguish user events from\n * value changes in JS.\n */\nfunction startWatchingForValueChange(target, targetInst) {\n activeElement = target;\n activeElementInst = targetInst;\n activeElement.attachEvent('onpropertychange', handlePropertyChange);\n}\n\n/**\n * (For IE <=9) Removes the event listeners from the currently-tracked element,\n * if any exists.\n */\nfunction stopWatchingForValueChange() {\n if (!activeElement) {\n return;\n }\n activeElement.detachEvent('onpropertychange', handlePropertyChange);\n\n activeElement = null;\n activeElementInst = null;\n}\n\n/**\n * (For IE <=9) Handles a propertychange event, sending a `change` event if\n * the value of the active element has changed.\n */\nfunction handlePropertyChange(nativeEvent) {\n if (nativeEvent.propertyName !== 'value') {\n return;\n }\n if (getInstIfValueChanged(activeElementInst, nativeEvent)) {\n manualDispatchChangeEvent(nativeEvent);\n }\n}\n\nfunction handleEventsForInputEventPolyfill(topLevelType, target, targetInst) {\n if (topLevelType === 'topFocus') {\n // In IE8, we can capture almost all .value changes by adding a\n // propertychange handler and looking for events with propertyName\n // equal to 'value'\n // In IE9, propertychange fires for most input events but is buggy and\n // doesn't fire when text is deleted, but conveniently, selectionchange\n // appears to fire in all of the remaining cases so we catch those and\n // forward the event if the value has changed\n // In either case, we don't want to call the event handler if the value\n // is changed from JS so we redefine a setter for `.value` that updates\n // our activeElementValue variable, allowing us to ignore those changes\n //\n // stopWatching() should be a noop here but we call it just in case we\n // missed a blur event somehow.\n stopWatchingForValueChange();\n startWatchingForValueChange(target, targetInst);\n } else if (topLevelType === 'topBlur') {\n stopWatchingForValueChange();\n }\n}\n\n// For IE8 and IE9.\nfunction getTargetInstForInputEventPolyfill(topLevelType, targetInst, nativeEvent) {\n if (topLevelType === 'topSelectionChange' || topLevelType === 'topKeyUp' || topLevelType === 'topKeyDown') {\n // On the selectionchange event, the target is just document which isn't\n // helpful for us so just check activeElement instead.\n //\n // 99% of the time, keydown and keyup aren't necessary. IE8 fails to fire\n // propertychange on the first input event after setting `value` from a\n // script and fires only keydown, keypress, keyup. Catching keyup usually\n // gets it and catching keydown lets us fire an event for the first\n // keystroke if user does a key repeat (it'll be a little delayed: right\n // before the second keystroke). Other input methods (e.g., paste) seem to\n // fire selectionchange normally.\n return getInstIfValueChanged(activeElementInst, nativeEvent);\n }\n}\n\n/**\n * SECTION: handle `click` event\n */\nfunction shouldUseClickEvent(elem) {\n // Use the `click` event to detect changes to checkbox and radio inputs.\n // This approach works across all browsers, whereas `change` does not fire\n // until `blur` in IE8.\n var nodeName = elem.nodeName;\n return nodeName && nodeName.toLowerCase() === 'input' && (elem.type === 'checkbox' || elem.type === 'radio');\n}\n\nfunction getTargetInstForClickEvent(topLevelType, targetInst, nativeEvent) {\n if (topLevelType === 'topClick') {\n return getInstIfValueChanged(targetInst, nativeEvent);\n }\n}\n\nfunction getTargetInstForInputOrChangeEvent(topLevelType, targetInst, nativeEvent) {\n if (topLevelType === 'topInput' || topLevelType === 'topChange') {\n return getInstIfValueChanged(targetInst, nativeEvent);\n }\n}\n\nfunction handleControlledInputBlur(inst, node) {\n // TODO: In IE, inst is occasionally null. Why?\n if (inst == null) {\n return;\n }\n\n // Fiber and ReactDOM keep wrapper state in separate places\n var state = inst._wrapperState || node._wrapperState;\n\n if (!state || !state.controlled || node.type !== 'number') {\n return;\n }\n\n // If controlled, assign the value attribute to the current value on blur\n var value = '' + node.value;\n if (node.getAttribute('value') !== value) {\n node.setAttribute('value', value);\n }\n}\n\n/**\n * This plugin creates an `onChange` event that normalizes change events\n * across form elements. This event fires at a time when it's possible to\n * change the element's value without seeing a flicker.\n *\n * Supported elements are:\n * - input (see `isTextInputElement`)\n * - textarea\n * - select\n */\nvar ChangeEventPlugin = {\n eventTypes: eventTypes,\n\n _allowSimulatedPassThrough: true,\n _isInputEventSupported: isInputEventSupported,\n\n extractEvents: function (topLevelType, targetInst, nativeEvent, nativeEventTarget) {\n var targetNode = targetInst ? ReactDOMComponentTree.getNodeFromInstance(targetInst) : window;\n\n var getTargetInstFunc, handleEventFunc;\n if (shouldUseChangeEvent(targetNode)) {\n if (doesChangeEventBubble) {\n getTargetInstFunc = getTargetInstForChangeEvent;\n } else {\n handleEventFunc = handleEventsForChangeEventIE8;\n }\n } else if (isTextInputElement(targetNode)) {\n if (isInputEventSupported) {\n getTargetInstFunc = getTargetInstForInputOrChangeEvent;\n } else {\n getTargetInstFunc = getTargetInstForInputEventPolyfill;\n handleEventFunc = handleEventsForInputEventPolyfill;\n }\n } else if (shouldUseClickEvent(targetNode)) {\n getTargetInstFunc = getTargetInstForClickEvent;\n }\n\n if (getTargetInstFunc) {\n var inst = getTargetInstFunc(topLevelType, targetInst, nativeEvent);\n if (inst) {\n var event = createAndAccumulateChangeEvent(inst, nativeEvent, nativeEventTarget);\n return event;\n }\n }\n\n if (handleEventFunc) {\n handleEventFunc(topLevelType, targetNode, targetInst);\n }\n\n // When blurring, set the value attribute for number inputs\n if (topLevelType === 'topBlur') {\n handleControlledInputBlur(targetInst, targetNode);\n }\n }\n};\n\nmodule.exports = ChangeEventPlugin;","/**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * \n */\n\n'use strict';\n\nvar ReactOwner = require('./ReactOwner');\n\nvar ReactRef = {};\n\nfunction attachRef(ref, component, owner) {\n if (typeof ref === 'function') {\n ref(component.getPublicInstance());\n } else {\n // Legacy ref\n ReactOwner.addComponentAsRefTo(component, ref, owner);\n }\n}\n\nfunction detachRef(ref, component, owner) {\n if (typeof ref === 'function') {\n ref(null);\n } else {\n // Legacy ref\n ReactOwner.removeComponentAsRefFrom(component, ref, owner);\n }\n}\n\nReactRef.attachRefs = function (instance, element) {\n if (element === null || typeof element !== 'object') {\n return;\n }\n var ref = element.ref;\n if (ref != null) {\n attachRef(ref, instance, element._owner);\n }\n};\n\nReactRef.shouldUpdateRefs = function (prevElement, nextElement) {\n // If either the owner or a `ref` has changed, make sure the newest owner\n // has stored a reference to `this`, and the previous owner (if different)\n // has forgotten the reference to `this`. We use the element instead\n // of the public this.props because the post processing cannot determine\n // a ref. The ref conceptually lives on the element.\n\n // TODO: Should this even be possible? The owner cannot change because\n // it's forbidden by shouldUpdateReactComponent. The ref can change\n // if you swap the keys of but not the refs. Reconsider where this check\n // is made. It probably belongs where the key checking and\n // instantiateReactComponent is done.\n\n var prevRef = null;\n var prevOwner = null;\n if (prevElement !== null && typeof prevElement === 'object') {\n prevRef = prevElement.ref;\n prevOwner = prevElement._owner;\n }\n\n var nextRef = null;\n var nextOwner = null;\n if (nextElement !== null && typeof nextElement === 'object') {\n nextRef = nextElement.ref;\n nextOwner = nextElement._owner;\n }\n\n return prevRef !== nextRef ||\n // If owner changes but we have an unchanged function ref, don't update refs\n typeof nextRef === 'string' && nextOwner !== prevOwner;\n};\n\nReactRef.detachRefs = function (instance, element) {\n if (element === null || typeof element !== 'object') {\n return;\n }\n var ref = element.ref;\n if (ref != null) {\n detachRef(ref, instance, element._owner);\n }\n};\n\nmodule.exports = ReactRef;","/**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * \n */\n\n'use strict';\n\nvar _prodInvariant = require('./reactProdInvariant');\n\nvar invariant = require('fbjs/lib/invariant');\n\n/**\n * @param {?object} object\n * @return {boolean} True if `object` is a valid owner.\n * @final\n */\nfunction isValidOwner(object) {\n return !!(object && typeof object.attachRef === 'function' && typeof object.detachRef === 'function');\n}\n\n/**\n * ReactOwners are capable of storing references to owned components.\n *\n * All components are capable of //being// referenced by owner components, but\n * only ReactOwner components are capable of //referencing// owned components.\n * The named reference is known as a \"ref\".\n *\n * Refs are available when mounted and updated during reconciliation.\n *\n * var MyComponent = React.createClass({\n * render: function() {\n * return (\n * <div onClick={this.handleClick}>\n * <CustomComponent ref=\"custom\" />\n * </div>\n * );\n * },\n * handleClick: function() {\n * this.refs.custom.handleClick();\n * },\n * componentDidMount: function() {\n * this.refs.custom.initialize();\n * }\n * });\n *\n * Refs should rarely be used. When refs are used, they should only be done to\n * control data that is not handled by React's data flow.\n *\n * @class ReactOwner\n */\nvar ReactOwner = {\n /**\n * Adds a component by ref to an owner component.\n *\n * @param {ReactComponent} component Component to reference.\n * @param {string} ref Name by which to refer to the component.\n * @param {ReactOwner} owner Component on which to record the ref.\n * @final\n * @internal\n */\n addComponentAsRefTo: function (component, ref, owner) {\n !isValidOwner(owner) ? process.env.NODE_ENV !== 'production' ? invariant(false, 'addComponentAsRefTo(...): Only a ReactOwner can have refs. You might be adding a ref to a component that was not created inside a component\\'s `render` method, or you have multiple copies of React loaded (details: https://fb.me/react-refs-must-have-owner).') : _prodInvariant('119') : void 0;\n owner.attachRef(ref, component);\n },\n\n /**\n * Removes a component by ref from an owner component.\n *\n * @param {ReactComponent} component Component to dereference.\n * @param {string} ref Name of the ref to remove.\n * @param {ReactOwner} owner Component on which the ref is recorded.\n * @final\n * @internal\n */\n removeComponentAsRefFrom: function (component, ref, owner) {\n !isValidOwner(owner) ? process.env.NODE_ENV !== 'production' ? invariant(false, 'removeComponentAsRefFrom(...): Only a ReactOwner can have refs. You might be removing a ref to a component that was not created inside a component\\'s `render` method, or you have multiple copies of React loaded (details: https://fb.me/react-refs-must-have-owner).') : _prodInvariant('120') : void 0;\n var ownerPublicInstance = owner.getPublicInstance();\n // Check that `component`'s owner is still alive and that `component` is still the current ref\n // because we do not want to detach the ref if another component stole it.\n if (ownerPublicInstance && ownerPublicInstance.refs[ref] === component.getPublicInstance()) {\n owner.detachRef(ref);\n }\n }\n};\n\nmodule.exports = ReactOwner;","/**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n */\n\n'use strict';\n\n/**\n * Module that is injectable into `EventPluginHub`, that specifies a\n * deterministic ordering of `EventPlugin`s. A convenient way to reason about\n * plugins, without having to package every one of them. This is better than\n * having plugins be ordered in the same order that they are injected because\n * that ordering would be influenced by the packaging order.\n * `ResponderEventPlugin` must occur before `SimpleEventPlugin` so that\n * preventing default on events is convenient in `SimpleEventPlugin` handlers.\n */\n\nvar DefaultEventPluginOrder = ['ResponderEventPlugin', 'SimpleEventPlugin', 'TapEventPlugin', 'EnterLeaveEventPlugin', 'ChangeEventPlugin', 'SelectEventPlugin', 'BeforeInputEventPlugin'];\n\nmodule.exports = DefaultEventPluginOrder;","/**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n */\n\n'use strict';\n\nvar EventPropagators = require('./EventPropagators');\nvar ReactDOMComponentTree = require('./ReactDOMComponentTree');\nvar SyntheticMouseEvent = require('./SyntheticMouseEvent');\n\nvar eventTypes = {\n mouseEnter: {\n registrationName: 'onMouseEnter',\n dependencies: ['topMouseOut', 'topMouseOver']\n },\n mouseLeave: {\n registrationName: 'onMouseLeave',\n dependencies: ['topMouseOut', 'topMouseOver']\n }\n};\n\nvar EnterLeaveEventPlugin = {\n eventTypes: eventTypes,\n\n /**\n * For almost every interaction we care about, there will be both a top-level\n * `mouseover` and `mouseout` event that occurs. Only use `mouseout` so that\n * we do not extract duplicate events. However, moving the mouse into the\n * browser from outside will not fire a `mouseout` event. In this case, we use\n * the `mouseover` top-level event.\n */\n extractEvents: function (topLevelType, targetInst, nativeEvent, nativeEventTarget) {\n if (topLevelType === 'topMouseOver' && (nativeEvent.relatedTarget || nativeEvent.fromElement)) {\n return null;\n }\n if (topLevelType !== 'topMouseOut' && topLevelType !== 'topMouseOver') {\n // Must not be a mouse in or mouse out - ignoring.\n return null;\n }\n\n var win;\n if (nativeEventTarget.window === nativeEventTarget) {\n // `nativeEventTarget` is probably a window object.\n win = nativeEventTarget;\n } else {\n // TODO: Figure out why `ownerDocument` is sometimes undefined in IE8.\n var doc = nativeEventTarget.ownerDocument;\n if (doc) {\n win = doc.defaultView || doc.parentWindow;\n } else {\n win = window;\n }\n }\n\n var from;\n var to;\n if (topLevelType === 'topMouseOut') {\n from = targetInst;\n var related = nativeEvent.relatedTarget || nativeEvent.toElement;\n to = related ? ReactDOMComponentTree.getClosestInstanceFromNode(related) : null;\n } else {\n // Moving to a node from outside the window.\n from = null;\n to = targetInst;\n }\n\n if (from === to) {\n // Nothing pertains to our managed components.\n return null;\n }\n\n var fromNode = from == null ? win : ReactDOMComponentTree.getNodeFromInstance(from);\n var toNode = to == null ? win : ReactDOMComponentTree.getNodeFromInstance(to);\n\n var leave = SyntheticMouseEvent.getPooled(eventTypes.mouseLeave, from, nativeEvent, nativeEventTarget);\n leave.type = 'mouseleave';\n leave.target = fromNode;\n leave.relatedTarget = toNode;\n\n var enter = SyntheticMouseEvent.getPooled(eventTypes.mouseEnter, to, nativeEvent, nativeEventTarget);\n enter.type = 'mouseenter';\n enter.target = toNode;\n enter.relatedTarget = fromNode;\n\n EventPropagators.accumulateEnterLeaveDispatches(leave, enter, from, to);\n\n return [leave, enter];\n }\n};\n\nmodule.exports = EnterLeaveEventPlugin;","/**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n */\n\n'use strict';\n\nvar DOMProperty = require('./DOMProperty');\n\nvar MUST_USE_PROPERTY = DOMProperty.injection.MUST_USE_PROPERTY;\nvar HAS_BOOLEAN_VALUE = DOMProperty.injection.HAS_BOOLEAN_VALUE;\nvar HAS_NUMERIC_VALUE = DOMProperty.injection.HAS_NUMERIC_VALUE;\nvar HAS_POSITIVE_NUMERIC_VALUE = DOMProperty.injection.HAS_POSITIVE_NUMERIC_VALUE;\nvar HAS_OVERLOADED_BOOLEAN_VALUE = DOMProperty.injection.HAS_OVERLOADED_BOOLEAN_VALUE;\n\nvar HTMLDOMPropertyConfig = {\n isCustomAttribute: RegExp.prototype.test.bind(new RegExp('^(data|aria)-[' + DOMProperty.ATTRIBUTE_NAME_CHAR + ']*$')),\n Properties: {\n /**\n * Standard Properties\n */\n accept: 0,\n acceptCharset: 0,\n accessKey: 0,\n action: 0,\n allowFullScreen: HAS_BOOLEAN_VALUE,\n allowTransparency: 0,\n alt: 0,\n // specifies target context for links with `preload` type\n as: 0,\n async: HAS_BOOLEAN_VALUE,\n autoComplete: 0,\n // autoFocus is polyfilled/normalized by AutoFocusUtils\n // autoFocus: HAS_BOOLEAN_VALUE,\n autoPlay: HAS_BOOLEAN_VALUE,\n capture: HAS_BOOLEAN_VALUE,\n cellPadding: 0,\n cellSpacing: 0,\n charSet: 0,\n challenge: 0,\n checked: MUST_USE_PROPERTY | HAS_BOOLEAN_VALUE,\n cite: 0,\n classID: 0,\n className: 0,\n cols: HAS_POSITIVE_NUMERIC_VALUE,\n colSpan: 0,\n content: 0,\n contentEditable: 0,\n contextMenu: 0,\n controls: HAS_BOOLEAN_VALUE,\n controlsList: 0,\n coords: 0,\n crossOrigin: 0,\n data: 0, // For `<object />` acts as `src`.\n dateTime: 0,\n 'default': HAS_BOOLEAN_VALUE,\n defer: HAS_BOOLEAN_VALUE,\n dir: 0,\n disabled: HAS_BOOLEAN_VALUE,\n download: HAS_OVERLOADED_BOOLEAN_VALUE,\n draggable: 0,\n encType: 0,\n form: 0,\n formAction: 0,\n formEncType: 0,\n formMethod: 0,\n formNoValidate: HAS_BOOLEAN_VALUE,\n formTarget: 0,\n frameBorder: 0,\n headers: 0,\n height: 0,\n hidden: HAS_BOOLEAN_VALUE,\n high: 0,\n href: 0,\n hrefLang: 0,\n htmlFor: 0,\n httpEquiv: 0,\n icon: 0,\n id: 0,\n inputMode: 0,\n integrity: 0,\n is: 0,\n keyParams: 0,\n keyType: 0,\n kind: 0,\n label: 0,\n lang: 0,\n list: 0,\n loop: HAS_BOOLEAN_VALUE,\n low: 0,\n manifest: 0,\n marginHeight: 0,\n marginWidth: 0,\n max: 0,\n maxLength: 0,\n media: 0,\n mediaGroup: 0,\n method: 0,\n min: 0,\n minLength: 0,\n // Caution; `option.selected` is not updated if `select.multiple` is\n // disabled with `removeAttribute`.\n multiple: MUST_USE_PROPERTY | HAS_BOOLEAN_VALUE,\n muted: MUST_USE_PROPERTY | HAS_BOOLEAN_VALUE,\n name: 0,\n nonce: 0,\n noValidate: HAS_BOOLEAN_VALUE,\n open: HAS_BOOLEAN_VALUE,\n optimum: 0,\n pattern: 0,\n placeholder: 0,\n playsInline: HAS_BOOLEAN_VALUE,\n poster: 0,\n preload: 0,\n profile: 0,\n radioGroup: 0,\n readOnly: HAS_BOOLEAN_VALUE,\n referrerPolicy: 0,\n rel: 0,\n required: HAS_BOOLEAN_VALUE,\n reversed: HAS_BOOLEAN_VALUE,\n role: 0,\n rows: HAS_POSITIVE_NUMERIC_VALUE,\n rowSpan: HAS_NUMERIC_VALUE,\n sandbox: 0,\n scope: 0,\n scoped: HAS_BOOLEAN_VALUE,\n scrolling: 0,\n seamless: HAS_BOOLEAN_VALUE,\n selected: MUST_USE_PROPERTY | HAS_BOOLEAN_VALUE,\n shape: 0,\n size: HAS_POSITIVE_NUMERIC_VALUE,\n sizes: 0,\n span: HAS_POSITIVE_NUMERIC_VALUE,\n spellCheck: 0,\n src: 0,\n srcDoc: 0,\n srcLang: 0,\n srcSet: 0,\n start: HAS_NUMERIC_VALUE,\n step: 0,\n style: 0,\n summary: 0,\n tabIndex: 0,\n target: 0,\n title: 0,\n // Setting .type throws on non-<input> tags\n type: 0,\n useMap: 0,\n value: 0,\n width: 0,\n wmode: 0,\n wrap: 0,\n\n /**\n * RDFa Properties\n */\n about: 0,\n datatype: 0,\n inlist: 0,\n prefix: 0,\n // property is also supported for OpenGraph in meta tags.\n property: 0,\n resource: 0,\n 'typeof': 0,\n vocab: 0,\n\n /**\n * Non-standard Properties\n */\n // autoCapitalize and autoCorrect are supported in Mobile Safari for\n // keyboard hints.\n autoCapitalize: 0,\n autoCorrect: 0,\n // autoSave allows WebKit/Blink to persist values of input fields on page reloads\n autoSave: 0,\n // color is for Safari mask-icon link\n color: 0,\n // itemProp, itemScope, itemType are for\n // Microdata support. See http://schema.org/docs/gs.html\n itemProp: 0,\n itemScope: HAS_BOOLEAN_VALUE,\n itemType: 0,\n // itemID and itemRef are for Microdata support as well but\n // only specified in the WHATWG spec document. See\n // https://html.spec.whatwg.org/multipage/microdata.html#microdata-dom-api\n itemID: 0,\n itemRef: 0,\n // results show looking glass icon and recent searches on input\n // search fields in WebKit/Blink\n results: 0,\n // IE-only attribute that specifies security restrictions on an iframe\n // as an alternative to the sandbox attribute on IE<10\n security: 0,\n // IE-only attribute that controls focus behavior\n unselectable: 0\n },\n DOMAttributeNames: {\n acceptCharset: 'accept-charset',\n className: 'class',\n htmlFor: 'for',\n httpEquiv: 'http-equiv'\n },\n DOMPropertyNames: {},\n DOMMutationMethods: {\n value: function (node, value) {\n if (value == null) {\n return node.removeAttribute('value');\n }\n\n // Number inputs get special treatment due to some edge cases in\n // Chrome. Let everything else assign the value attribute as normal.\n // https://github.com/facebook/react/issues/7253#issuecomment-236074326\n if (node.type !== 'number' || node.hasAttribute('value') === false) {\n node.setAttribute('value', '' + value);\n } else if (node.validity && !node.validity.badInput && node.ownerDocument.activeElement !== node) {\n // Don't assign an attribute if validation reports bad\n // input. Chrome will clear the value. Additionally, don't\n // operate on inputs that have focus, otherwise Chrome might\n // strip off trailing decimal places and cause the user's\n // cursor position to jump to the beginning of the input.\n //\n // In ReactDOMInput, we have an onBlur event that will trigger\n // this function again when focus is lost.\n node.setAttribute('value', '' + value);\n }\n }\n }\n};\n\nmodule.exports = HTMLDOMPropertyConfig;","/**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n */\n\n'use strict';\n\nvar DOMChildrenOperations = require('./DOMChildrenOperations');\nvar ReactDOMIDOperations = require('./ReactDOMIDOperations');\n\n/**\n * Abstracts away all functionality of the reconciler that requires knowledge of\n * the browser context. TODO: These callers should be refactored to avoid the\n * need for this injection.\n */\nvar ReactComponentBrowserEnvironment = {\n processChildrenUpdates: ReactDOMIDOperations.dangerouslyProcessChildrenUpdates,\n\n replaceNodeWithMarkup: DOMChildrenOperations.dangerouslyReplaceNodeWithMarkup\n};\n\nmodule.exports = ReactComponentBrowserEnvironment;","/**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n */\n\n'use strict';\n\nvar _prodInvariant = require('./reactProdInvariant');\n\nvar DOMLazyTree = require('./DOMLazyTree');\nvar ExecutionEnvironment = require('fbjs/lib/ExecutionEnvironment');\n\nvar createNodesFromMarkup = require('fbjs/lib/createNodesFromMarkup');\nvar emptyFunction = require('fbjs/lib/emptyFunction');\nvar invariant = require('fbjs/lib/invariant');\n\nvar Danger = {\n /**\n * Replaces a node with a string of markup at its current position within its\n * parent. The markup must render into a single root node.\n *\n * @param {DOMElement} oldChild Child node to replace.\n * @param {string} markup Markup to render in place of the child node.\n * @internal\n */\n dangerouslyReplaceNodeWithMarkup: function (oldChild, markup) {\n !ExecutionEnvironment.canUseDOM ? process.env.NODE_ENV !== 'production' ? invariant(false, 'dangerouslyReplaceNodeWithMarkup(...): Cannot render markup in a worker thread. Make sure `window` and `document` are available globally before requiring React when unit testing or use ReactDOMServer.renderToString() for server rendering.') : _prodInvariant('56') : void 0;\n !markup ? process.env.NODE_ENV !== 'production' ? invariant(false, 'dangerouslyReplaceNodeWithMarkup(...): Missing markup.') : _prodInvariant('57') : void 0;\n !(oldChild.nodeName !== 'HTML') ? process.env.NODE_ENV !== 'production' ? invariant(false, 'dangerouslyReplaceNodeWithMarkup(...): Cannot replace markup of the <html> node. This is because browser quirks make this unreliable and/or slow. If you want to render to the root you must use server rendering. See ReactDOMServer.renderToString().') : _prodInvariant('58') : void 0;\n\n if (typeof markup === 'string') {\n var newChild = createNodesFromMarkup(markup, emptyFunction)[0];\n oldChild.parentNode.replaceChild(newChild, oldChild);\n } else {\n DOMLazyTree.replaceChildWithTree(oldChild, markup);\n }\n }\n};\n\nmodule.exports = Danger;","'use strict';\n\n/**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * @typechecks\n */\n\n/*eslint-disable fb-www/unsafe-html*/\n\nvar ExecutionEnvironment = require('./ExecutionEnvironment');\n\nvar createArrayFromMixed = require('./createArrayFromMixed');\nvar getMarkupWrap = require('./getMarkupWrap');\nvar invariant = require('./invariant');\n\n/**\n * Dummy container used to render all markup.\n */\nvar dummyNode = ExecutionEnvironment.canUseDOM ? document.createElement('div') : null;\n\n/**\n * Pattern used by `getNodeName`.\n */\nvar nodeNamePattern = /^\\s*<(\\w+)/;\n\n/**\n * Extracts the `nodeName` of the first element in a string of markup.\n *\n * @param {string} markup String of markup.\n * @return {?string} Node name of the supplied markup.\n */\nfunction getNodeName(markup) {\n var nodeNameMatch = markup.match(nodeNamePattern);\n return nodeNameMatch && nodeNameMatch[1].toLowerCase();\n}\n\n/**\n * Creates an array containing the nodes rendered from the supplied markup. The\n * optionally supplied `handleScript` function will be invoked once for each\n * <script> element that is rendered. If no `handleScript` function is supplied,\n * an exception is thrown if any <script> elements are rendered.\n *\n * @param {string} markup A string of valid HTML markup.\n * @param {?function} handleScript Invoked once for each rendered <script>.\n * @return {array<DOMElement|DOMTextNode>} An array of rendered nodes.\n */\nfunction createNodesFromMarkup(markup, handleScript) {\n var node = dummyNode;\n !!!dummyNode ? process.env.NODE_ENV !== 'production' ? invariant(false, 'createNodesFromMarkup dummy not initialized') : invariant(false) : void 0;\n var nodeName = getNodeName(markup);\n\n var wrap = nodeName && getMarkupWrap(nodeName);\n if (wrap) {\n node.innerHTML = wrap[1] + markup + wrap[2];\n\n var wrapDepth = wrap[0];\n while (wrapDepth--) {\n node = node.lastChild;\n }\n } else {\n node.innerHTML = markup;\n }\n\n var scripts = node.getElementsByTagName('script');\n if (scripts.length) {\n !handleScript ? process.env.NODE_ENV !== 'production' ? invariant(false, 'createNodesFromMarkup(...): Unexpected <script> element rendered.') : invariant(false) : void 0;\n createArrayFromMixed(scripts).forEach(handleScript);\n }\n\n var nodes = Array.from(node.childNodes);\n while (node.lastChild) {\n node.removeChild(node.lastChild);\n }\n return nodes;\n}\n\nmodule.exports = createNodesFromMarkup;","'use strict';\n\n/**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * @typechecks\n */\n\nvar invariant = require('./invariant');\n\n/**\n * Convert array-like objects to arrays.\n *\n * This API assumes the caller knows the contents of the data type. For less\n * well defined inputs use createArrayFromMixed.\n *\n * @param {object|function|filelist} obj\n * @return {array}\n */\nfunction toArray(obj) {\n var length = obj.length;\n\n // Some browsers builtin objects can report typeof 'function' (e.g. NodeList\n // in old versions of Safari).\n !(!Array.isArray(obj) && (typeof obj === 'object' || typeof obj === 'function')) ? process.env.NODE_ENV !== 'production' ? invariant(false, 'toArray: Array-like object expected') : invariant(false) : void 0;\n\n !(typeof length === 'number') ? process.env.NODE_ENV !== 'production' ? invariant(false, 'toArray: Object needs a length property') : invariant(false) : void 0;\n\n !(length === 0 || length - 1 in obj) ? process.env.NODE_ENV !== 'production' ? invariant(false, 'toArray: Object should have keys for indices') : invariant(false) : void 0;\n\n !(typeof obj.callee !== 'function') ? process.env.NODE_ENV !== 'production' ? invariant(false, 'toArray: Object can\\'t be `arguments`. Use rest params ' + '(function(...args) {}) or Array.from() instead.') : invariant(false) : void 0;\n\n // Old IE doesn't give collections access to hasOwnProperty. Assume inputs\n // without method will throw during the slice call and skip straight to the\n // fallback.\n if (obj.hasOwnProperty) {\n try {\n return Array.prototype.slice.call(obj);\n } catch (e) {\n // IE < 9 does not support Array#slice on collections objects\n }\n }\n\n // Fall back to copying key by key. This assumes all keys have a value,\n // so will not preserve sparsely populated inputs.\n var ret = Array(length);\n for (var ii = 0; ii < length; ii++) {\n ret[ii] = obj[ii];\n }\n return ret;\n}\n\n/**\n * Perform a heuristic test to determine if an object is \"array-like\".\n *\n * A monk asked Joshu, a Zen master, \"Has a dog Buddha nature?\"\n * Joshu replied: \"Mu.\"\n *\n * This function determines if its argument has \"array nature\": it returns\n * true if the argument is an actual array, an `arguments' object, or an\n * HTMLCollection (e.g. node.childNodes or node.getElementsByTagName()).\n *\n * It will return false for other array-like objects like Filelist.\n *\n * @param {*} obj\n * @return {boolean}\n */\nfunction hasArrayNature(obj) {\n return (\n // not null/false\n !!obj && (\n // arrays are objects, NodeLists are functions in Safari\n typeof obj == 'object' || typeof obj == 'function') &&\n // quacks like an array\n 'length' in obj &&\n // not window\n !('setInterval' in obj) &&\n // no DOM node should be considered an array-like\n // a 'select' element has 'length' and 'item' properties on IE8\n typeof obj.nodeType != 'number' && (\n // a real array\n Array.isArray(obj) ||\n // arguments\n 'callee' in obj ||\n // HTMLCollection/NodeList\n 'item' in obj)\n );\n}\n\n/**\n * Ensure that the argument is an array by wrapping it in an array if it is not.\n * Creates a copy of the argument if it is already an array.\n *\n * This is mostly useful idiomatically:\n *\n * var createArrayFromMixed = require('createArrayFromMixed');\n *\n * function takesOneOrMoreThings(things) {\n * things = createArrayFromMixed(things);\n * ...\n * }\n *\n * This allows you to treat `things' as an array, but accept scalars in the API.\n *\n * If you need to convert an array-like object, like `arguments`, into an array\n * use toArray instead.\n *\n * @param {*} obj\n * @return {array}\n */\nfunction createArrayFromMixed(obj) {\n if (!hasArrayNature(obj)) {\n return [obj];\n } else if (Array.isArray(obj)) {\n return obj.slice();\n } else {\n return toArray(obj);\n }\n}\n\nmodule.exports = createArrayFromMixed;","'use strict';\n\n/**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n */\n\n/*eslint-disable fb-www/unsafe-html */\n\nvar ExecutionEnvironment = require('./ExecutionEnvironment');\n\nvar invariant = require('./invariant');\n\n/**\n * Dummy container used to detect which wraps are necessary.\n */\nvar dummyNode = ExecutionEnvironment.canUseDOM ? document.createElement('div') : null;\n\n/**\n * Some browsers cannot use `innerHTML` to render certain elements standalone,\n * so we wrap them, render the wrapped nodes, then extract the desired node.\n *\n * In IE8, certain elements cannot render alone, so wrap all elements ('*').\n */\n\nvar shouldWrap = {};\n\nvar selectWrap = [1, '<select multiple=\"true\">', '</select>'];\nvar tableWrap = [1, '<table>', '</table>'];\nvar trWrap = [3, '<table><tbody><tr>', '</tr></tbody></table>'];\n\nvar svgWrap = [1, '<svg xmlns=\"http://www.w3.org/2000/svg\">', '</svg>'];\n\nvar markupWrap = {\n '*': [1, '?<div>', '</div>'],\n\n 'area': [1, '<map>', '</map>'],\n 'col': [2, '<table><tbody></tbody><colgroup>', '</colgroup></table>'],\n 'legend': [1, '<fieldset>', '</fieldset>'],\n 'param': [1, '<object>', '</object>'],\n 'tr': [2, '<table><tbody>', '</tbody></table>'],\n\n 'optgroup': selectWrap,\n 'option': selectWrap,\n\n 'caption': tableWrap,\n 'colgroup': tableWrap,\n 'tbody': tableWrap,\n 'tfoot': tableWrap,\n 'thead': tableWrap,\n\n 'td': trWrap,\n 'th': trWrap\n};\n\n// Initialize the SVG elements since we know they'll always need to be wrapped\n// consistently. If they are created inside a <div> they will be initialized in\n// the wrong namespace (and will not display).\nvar svgElements = ['circle', 'clipPath', 'defs', 'ellipse', 'g', 'image', 'line', 'linearGradient', 'mask', 'path', 'pattern', 'polygon', 'polyline', 'radialGradient', 'rect', 'stop', 'text', 'tspan'];\nsvgElements.forEach(function (nodeName) {\n markupWrap[nodeName] = svgWrap;\n shouldWrap[nodeName] = true;\n});\n\n/**\n * Gets the markup wrap configuration for the supplied `nodeName`.\n *\n * NOTE: This lazily detects which wraps are necessary for the current browser.\n *\n * @param {string} nodeName Lowercase `nodeName`.\n * @return {?array} Markup wrap configuration, if applicable.\n */\nfunction getMarkupWrap(nodeName) {\n !!!dummyNode ? process.env.NODE_ENV !== 'production' ? invariant(false, 'Markup wrapping node not initialized') : invariant(false) : void 0;\n if (!markupWrap.hasOwnProperty(nodeName)) {\n nodeName = '*';\n }\n if (!shouldWrap.hasOwnProperty(nodeName)) {\n if (nodeName === '*') {\n dummyNode.innerHTML = '<link />';\n } else {\n dummyNode.innerHTML = '<' + nodeName + '></' + nodeName + '>';\n }\n shouldWrap[nodeName] = !dummyNode.firstChild;\n }\n return shouldWrap[nodeName] ? markupWrap[nodeName] : null;\n}\n\nmodule.exports = getMarkupWrap;","/**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n */\n\n'use strict';\n\nvar DOMChildrenOperations = require('./DOMChildrenOperations');\nvar ReactDOMComponentTree = require('./ReactDOMComponentTree');\n\n/**\n * Operations used to process updates to DOM nodes.\n */\nvar ReactDOMIDOperations = {\n /**\n * Updates a component's children by processing a series of updates.\n *\n * @param {array<object>} updates List of update configurations.\n * @internal\n */\n dangerouslyProcessChildrenUpdates: function (parentInst, updates) {\n var node = ReactDOMComponentTree.getNodeFromInstance(parentInst);\n DOMChildrenOperations.processUpdates(node, updates);\n }\n};\n\nmodule.exports = ReactDOMIDOperations;","/**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n */\n\n/* global hasOwnProperty:true */\n\n'use strict';\n\nvar _prodInvariant = require('./reactProdInvariant'),\n _assign = require('object-assign');\n\nvar AutoFocusUtils = require('./AutoFocusUtils');\nvar CSSPropertyOperations = require('./CSSPropertyOperations');\nvar DOMLazyTree = require('./DOMLazyTree');\nvar DOMNamespaces = require('./DOMNamespaces');\nvar DOMProperty = require('./DOMProperty');\nvar DOMPropertyOperations = require('./DOMPropertyOperations');\nvar EventPluginHub = require('./EventPluginHub');\nvar EventPluginRegistry = require('./EventPluginRegistry');\nvar ReactBrowserEventEmitter = require('./ReactBrowserEventEmitter');\nvar ReactDOMComponentFlags = require('./ReactDOMComponentFlags');\nvar ReactDOMComponentTree = require('./ReactDOMComponentTree');\nvar ReactDOMInput = require('./ReactDOMInput');\nvar ReactDOMOption = require('./ReactDOMOption');\nvar ReactDOMSelect = require('./ReactDOMSelect');\nvar ReactDOMTextarea = require('./ReactDOMTextarea');\nvar ReactInstrumentation = require('./ReactInstrumentation');\nvar ReactMultiChild = require('./ReactMultiChild');\nvar ReactServerRenderingTransaction = require('./ReactServerRenderingTransaction');\n\nvar emptyFunction = require('fbjs/lib/emptyFunction');\nvar escapeTextContentForBrowser = require('./escapeTextContentForBrowser');\nvar invariant = require('fbjs/lib/invariant');\nvar isEventSupported = require('./isEventSupported');\nvar shallowEqual = require('fbjs/lib/shallowEqual');\nvar inputValueTracking = require('./inputValueTracking');\nvar validateDOMNesting = require('./validateDOMNesting');\nvar warning = require('fbjs/lib/warning');\n\nvar Flags = ReactDOMComponentFlags;\nvar deleteListener = EventPluginHub.deleteListener;\nvar getNode = ReactDOMComponentTree.getNodeFromInstance;\nvar listenTo = ReactBrowserEventEmitter.listenTo;\nvar registrationNameModules = EventPluginRegistry.registrationNameModules;\n\n// For quickly matching children type, to test if can be treated as content.\nvar CONTENT_TYPES = { string: true, number: true };\n\nvar STYLE = 'style';\nvar HTML = '__html';\nvar RESERVED_PROPS = {\n children: null,\n dangerouslySetInnerHTML: null,\n suppressContentEditableWarning: null\n};\n\n// Node type for document fragments (Node.DOCUMENT_FRAGMENT_NODE).\nvar DOC_FRAGMENT_TYPE = 11;\n\nfunction getDeclarationErrorAddendum(internalInstance) {\n if (internalInstance) {\n var owner = internalInstance._currentElement._owner || null;\n if (owner) {\n var name = owner.getName();\n if (name) {\n return ' This DOM node was rendered by `' + name + '`.';\n }\n }\n }\n return '';\n}\n\nfunction friendlyStringify(obj) {\n if (typeof obj === 'object') {\n if (Array.isArray(obj)) {\n return '[' + obj.map(friendlyStringify).join(', ') + ']';\n } else {\n var pairs = [];\n for (var key in obj) {\n if (Object.prototype.hasOwnProperty.call(obj, key)) {\n var keyEscaped = /^[a-z$_][\\w$_]*$/i.test(key) ? key : JSON.stringify(key);\n pairs.push(keyEscaped + ': ' + friendlyStringify(obj[key]));\n }\n }\n return '{' + pairs.join(', ') + '}';\n }\n } else if (typeof obj === 'string') {\n return JSON.stringify(obj);\n } else if (typeof obj === 'function') {\n return '[function object]';\n }\n // Differs from JSON.stringify in that undefined because undefined and that\n // inf and nan don't become null\n return String(obj);\n}\n\nvar styleMutationWarning = {};\n\nfunction checkAndWarnForMutatedStyle(style1, style2, component) {\n if (style1 == null || style2 == null) {\n return;\n }\n if (shallowEqual(style1, style2)) {\n return;\n }\n\n var componentName = component._tag;\n var owner = component._currentElement._owner;\n var ownerName;\n if (owner) {\n ownerName = owner.getName();\n }\n\n var hash = ownerName + '|' + componentName;\n\n if (styleMutationWarning.hasOwnProperty(hash)) {\n return;\n }\n\n styleMutationWarning[hash] = true;\n\n process.env.NODE_ENV !== 'production' ? warning(false, '`%s` was passed a style object that has previously been mutated. ' + 'Mutating `style` is deprecated. Consider cloning it beforehand. Check ' + 'the `render` %s. Previous style: %s. Mutated style: %s.', componentName, owner ? 'of `' + ownerName + '`' : 'using <' + componentName + '>', friendlyStringify(style1), friendlyStringify(style2)) : void 0;\n}\n\n/**\n * @param {object} component\n * @param {?object} props\n */\nfunction assertValidProps(component, props) {\n if (!props) {\n return;\n }\n // Note the use of `==` which checks for null or undefined.\n if (voidElementTags[component._tag]) {\n !(props.children == null && props.dangerouslySetInnerHTML == null) ? process.env.NODE_ENV !== 'production' ? invariant(false, '%s is a void element tag and must neither have `children` nor use `dangerouslySetInnerHTML`.%s', component._tag, component._currentElement._owner ? ' Check the render method of ' + component._currentElement._owner.getName() + '.' : '') : _prodInvariant('137', component._tag, component._currentElement._owner ? ' Check the render method of ' + component._currentElement._owner.getName() + '.' : '') : void 0;\n }\n if (props.dangerouslySetInnerHTML != null) {\n !(props.children == null) ? process.env.NODE_ENV !== 'production' ? invariant(false, 'Can only set one of `children` or `props.dangerouslySetInnerHTML`.') : _prodInvariant('60') : void 0;\n !(typeof props.dangerouslySetInnerHTML === 'object' && HTML in props.dangerouslySetInnerHTML) ? process.env.NODE_ENV !== 'production' ? invariant(false, '`props.dangerouslySetInnerHTML` must be in the form `{__html: ...}`. Please visit https://fb.me/react-invariant-dangerously-set-inner-html for more information.') : _prodInvariant('61') : void 0;\n }\n if (process.env.NODE_ENV !== 'production') {\n process.env.NODE_ENV !== 'production' ? warning(props.innerHTML == null, 'Directly setting property `innerHTML` is not permitted. ' + 'For more information, lookup documentation on `dangerouslySetInnerHTML`.') : void 0;\n process.env.NODE_ENV !== 'production' ? warning(props.suppressContentEditableWarning || !props.contentEditable || props.children == null, 'A component is `contentEditable` and contains `children` managed by ' + 'React. It is now your responsibility to guarantee that none of ' + 'those nodes are unexpectedly modified or duplicated. This is ' + 'probably not intentional.') : void 0;\n process.env.NODE_ENV !== 'production' ? warning(props.onFocusIn == null && props.onFocusOut == null, 'React uses onFocus and onBlur instead of onFocusIn and onFocusOut. ' + 'All React events are normalized to bubble, so onFocusIn and onFocusOut ' + 'are not needed/supported by React.') : void 0;\n }\n !(props.style == null || typeof props.style === 'object') ? process.env.NODE_ENV !== 'production' ? invariant(false, 'The `style` prop expects a mapping from style properties to values, not a string. For example, style={{marginRight: spacing + \\'em\\'}} when using JSX.%s', getDeclarationErrorAddendum(component)) : _prodInvariant('62', getDeclarationErrorAddendum(component)) : void 0;\n}\n\nfunction enqueuePutListener(inst, registrationName, listener, transaction) {\n if (transaction instanceof ReactServerRenderingTransaction) {\n return;\n }\n if (process.env.NODE_ENV !== 'production') {\n // IE8 has no API for event capturing and the `onScroll` event doesn't\n // bubble.\n process.env.NODE_ENV !== 'production' ? warning(registrationName !== 'onScroll' || isEventSupported('scroll', true), \"This browser doesn't support the `onScroll` event\") : void 0;\n }\n var containerInfo = inst._hostContainerInfo;\n var isDocumentFragment = containerInfo._node && containerInfo._node.nodeType === DOC_FRAGMENT_TYPE;\n var doc = isDocumentFragment ? containerInfo._node : containerInfo._ownerDocument;\n listenTo(registrationName, doc);\n transaction.getReactMountReady().enqueue(putListener, {\n inst: inst,\n registrationName: registrationName,\n listener: listener\n });\n}\n\nfunction putListener() {\n var listenerToPut = this;\n EventPluginHub.putListener(listenerToPut.inst, listenerToPut.registrationName, listenerToPut.listener);\n}\n\nfunction inputPostMount() {\n var inst = this;\n ReactDOMInput.postMountWrapper(inst);\n}\n\nfunction textareaPostMount() {\n var inst = this;\n ReactDOMTextarea.postMountWrapper(inst);\n}\n\nfunction optionPostMount() {\n var inst = this;\n ReactDOMOption.postMountWrapper(inst);\n}\n\nvar setAndValidateContentChildDev = emptyFunction;\nif (process.env.NODE_ENV !== 'production') {\n setAndValidateContentChildDev = function (content) {\n var hasExistingContent = this._contentDebugID != null;\n var debugID = this._debugID;\n // This ID represents the inlined child that has no backing instance:\n var contentDebugID = -debugID;\n\n if (content == null) {\n if (hasExistingContent) {\n ReactInstrumentation.debugTool.onUnmountComponent(this._contentDebugID);\n }\n this._contentDebugID = null;\n return;\n }\n\n validateDOMNesting(null, String(content), this, this._ancestorInfo);\n this._contentDebugID = contentDebugID;\n if (hasExistingContent) {\n ReactInstrumentation.debugTool.onBeforeUpdateComponent(contentDebugID, content);\n ReactInstrumentation.debugTool.onUpdateComponent(contentDebugID);\n } else {\n ReactInstrumentation.debugTool.onBeforeMountComponent(contentDebugID, content, debugID);\n ReactInstrumentation.debugTool.onMountComponent(contentDebugID);\n ReactInstrumentation.debugTool.onSetChildren(debugID, [contentDebugID]);\n }\n };\n}\n\n// There are so many media events, it makes sense to just\n// maintain a list rather than create a `trapBubbledEvent` for each\nvar mediaEvents = {\n topAbort: 'abort',\n topCanPlay: 'canplay',\n topCanPlayThrough: 'canplaythrough',\n topDurationChange: 'durationchange',\n topEmptied: 'emptied',\n topEncrypted: 'encrypted',\n topEnded: 'ended',\n topError: 'error',\n topLoadedData: 'loadeddata',\n topLoadedMetadata: 'loadedmetadata',\n topLoadStart: 'loadstart',\n topPause: 'pause',\n topPlay: 'play',\n topPlaying: 'playing',\n topProgress: 'progress',\n topRateChange: 'ratechange',\n topSeeked: 'seeked',\n topSeeking: 'seeking',\n topStalled: 'stalled',\n topSuspend: 'suspend',\n topTimeUpdate: 'timeupdate',\n topVolumeChange: 'volumechange',\n topWaiting: 'waiting'\n};\n\nfunction trackInputValue() {\n inputValueTracking.track(this);\n}\n\nfunction trapBubbledEventsLocal() {\n var inst = this;\n // If a component renders to null or if another component fatals and causes\n // the state of the tree to be corrupted, `node` here can be null.\n !inst._rootNodeID ? process.env.NODE_ENV !== 'production' ? invariant(false, 'Must be mounted to trap events') : _prodInvariant('63') : void 0;\n var node = getNode(inst);\n !node ? process.env.NODE_ENV !== 'production' ? invariant(false, 'trapBubbledEvent(...): Requires node to be rendered.') : _prodInvariant('64') : void 0;\n\n switch (inst._tag) {\n case 'iframe':\n case 'object':\n inst._wrapperState.listeners = [ReactBrowserEventEmitter.trapBubbledEvent('topLoad', 'load', node)];\n break;\n case 'video':\n case 'audio':\n inst._wrapperState.listeners = [];\n // Create listener for each media event\n for (var event in mediaEvents) {\n if (mediaEvents.hasOwnProperty(event)) {\n inst._wrapperState.listeners.push(ReactBrowserEventEmitter.trapBubbledEvent(event, mediaEvents[event], node));\n }\n }\n break;\n case 'source':\n inst._wrapperState.listeners = [ReactBrowserEventEmitter.trapBubbledEvent('topError', 'error', node)];\n break;\n case 'img':\n inst._wrapperState.listeners = [ReactBrowserEventEmitter.trapBubbledEvent('topError', 'error', node), ReactBrowserEventEmitter.trapBubbledEvent('topLoad', 'load', node)];\n break;\n case 'form':\n inst._wrapperState.listeners = [ReactBrowserEventEmitter.trapBubbledEvent('topReset', 'reset', node), ReactBrowserEventEmitter.trapBubbledEvent('topSubmit', 'submit', node)];\n break;\n case 'input':\n case 'select':\n case 'textarea':\n inst._wrapperState.listeners = [ReactBrowserEventEmitter.trapBubbledEvent('topInvalid', 'invalid', node)];\n break;\n }\n}\n\nfunction postUpdateSelectWrapper() {\n ReactDOMSelect.postUpdateWrapper(this);\n}\n\n// For HTML, certain tags should omit their close tag. We keep a whitelist for\n// those special-case tags.\n\nvar omittedCloseTags = {\n area: true,\n base: true,\n br: true,\n col: true,\n embed: true,\n hr: true,\n img: true,\n input: true,\n keygen: true,\n link: true,\n meta: true,\n param: true,\n source: true,\n track: true,\n wbr: true\n // NOTE: menuitem's close tag should be omitted, but that causes problems.\n};\n\nvar newlineEatingTags = {\n listing: true,\n pre: true,\n textarea: true\n};\n\n// For HTML, certain tags cannot have children. This has the same purpose as\n// `omittedCloseTags` except that `menuitem` should still have its closing tag.\n\nvar voidElementTags = _assign({\n menuitem: true\n}, omittedCloseTags);\n\n// We accept any tag to be rendered but since this gets injected into arbitrary\n// HTML, we want to make sure that it's a safe tag.\n// http://www.w3.org/TR/REC-xml/#NT-Name\n\nvar VALID_TAG_REGEX = /^[a-zA-Z][a-zA-Z:_\\.\\-\\d]*$/; // Simplified subset\nvar validatedTagCache = {};\nvar hasOwnProperty = {}.hasOwnProperty;\n\nfunction validateDangerousTag(tag) {\n if (!hasOwnProperty.call(validatedTagCache, tag)) {\n !VALID_TAG_REGEX.test(tag) ? process.env.NODE_ENV !== 'production' ? invariant(false, 'Invalid tag: %s', tag) : _prodInvariant('65', tag) : void 0;\n validatedTagCache[tag] = true;\n }\n}\n\nfunction isCustomComponent(tagName, props) {\n return tagName.indexOf('-') >= 0 || props.is != null;\n}\n\nvar globalIdCounter = 1;\n\n/**\n * Creates a new React class that is idempotent and capable of containing other\n * React components. It accepts event listeners and DOM properties that are\n * valid according to `DOMProperty`.\n *\n * - Event listeners: `onClick`, `onMouseDown`, etc.\n * - DOM properties: `className`, `name`, `title`, etc.\n *\n * The `style` property functions differently from the DOM API. It accepts an\n * object mapping of style properties to values.\n *\n * @constructor ReactDOMComponent\n * @extends ReactMultiChild\n */\nfunction ReactDOMComponent(element) {\n var tag = element.type;\n validateDangerousTag(tag);\n this._currentElement = element;\n this._tag = tag.toLowerCase();\n this._namespaceURI = null;\n this._renderedChildren = null;\n this._previousStyle = null;\n this._previousStyleCopy = null;\n this._hostNode = null;\n this._hostParent = null;\n this._rootNodeID = 0;\n this._domID = 0;\n this._hostContainerInfo = null;\n this._wrapperState = null;\n this._topLevelWrapper = null;\n this._flags = 0;\n if (process.env.NODE_ENV !== 'production') {\n this._ancestorInfo = null;\n setAndValidateContentChildDev.call(this, null);\n }\n}\n\nReactDOMComponent.displayName = 'ReactDOMComponent';\n\nReactDOMComponent.Mixin = {\n /**\n * Generates root tag markup then recurses. This method has side effects and\n * is not idempotent.\n *\n * @internal\n * @param {ReactReconcileTransaction|ReactServerRenderingTransaction} transaction\n * @param {?ReactDOMComponent} the parent component instance\n * @param {?object} info about the host container\n * @param {object} context\n * @return {string} The computed markup.\n */\n mountComponent: function (transaction, hostParent, hostContainerInfo, context) {\n this._rootNodeID = globalIdCounter++;\n this._domID = hostContainerInfo._idCounter++;\n this._hostParent = hostParent;\n this._hostContainerInfo = hostContainerInfo;\n\n var props = this._currentElement.props;\n\n switch (this._tag) {\n case 'audio':\n case 'form':\n case 'iframe':\n case 'img':\n case 'link':\n case 'object':\n case 'source':\n case 'video':\n this._wrapperState = {\n listeners: null\n };\n transaction.getReactMountReady().enqueue(trapBubbledEventsLocal, this);\n break;\n case 'input':\n ReactDOMInput.mountWrapper(this, props, hostParent);\n props = ReactDOMInput.getHostProps(this, props);\n transaction.getReactMountReady().enqueue(trackInputValue, this);\n transaction.getReactMountReady().enqueue(trapBubbledEventsLocal, this);\n break;\n case 'option':\n ReactDOMOption.mountWrapper(this, props, hostParent);\n props = ReactDOMOption.getHostProps(this, props);\n break;\n case 'select':\n ReactDOMSelect.mountWrapper(this, props, hostParent);\n props = ReactDOMSelect.getHostProps(this, props);\n transaction.getReactMountReady().enqueue(trapBubbledEventsLocal, this);\n break;\n case 'textarea':\n ReactDOMTextarea.mountWrapper(this, props, hostParent);\n props = ReactDOMTextarea.getHostProps(this, props);\n transaction.getReactMountReady().enqueue(trackInputValue, this);\n transaction.getReactMountReady().enqueue(trapBubbledEventsLocal, this);\n break;\n }\n\n assertValidProps(this, props);\n\n // We create tags in the namespace of their parent container, except HTML\n // tags get no namespace.\n var namespaceURI;\n var parentTag;\n if (hostParent != null) {\n namespaceURI = hostParent._namespaceURI;\n parentTag = hostParent._tag;\n } else if (hostContainerInfo._tag) {\n namespaceURI = hostContainerInfo._namespaceURI;\n parentTag = hostContainerInfo._tag;\n }\n if (namespaceURI == null || namespaceURI === DOMNamespaces.svg && parentTag === 'foreignobject') {\n namespaceURI = DOMNamespaces.html;\n }\n if (namespaceURI === DOMNamespaces.html) {\n if (this._tag === 'svg') {\n namespaceURI = DOMNamespaces.svg;\n } else if (this._tag === 'math') {\n namespaceURI = DOMNamespaces.mathml;\n }\n }\n this._namespaceURI = namespaceURI;\n\n if (process.env.NODE_ENV !== 'production') {\n var parentInfo;\n if (hostParent != null) {\n parentInfo = hostParent._ancestorInfo;\n } else if (hostContainerInfo._tag) {\n parentInfo = hostContainerInfo._ancestorInfo;\n }\n if (parentInfo) {\n // parentInfo should always be present except for the top-level\n // component when server rendering\n validateDOMNesting(this._tag, null, this, parentInfo);\n }\n this._ancestorInfo = validateDOMNesting.updatedAncestorInfo(parentInfo, this._tag, this);\n }\n\n var mountImage;\n if (transaction.useCreateElement) {\n var ownerDocument = hostContainerInfo._ownerDocument;\n var el;\n if (namespaceURI === DOMNamespaces.html) {\n if (this._tag === 'script') {\n // Create the script via .innerHTML so its \"parser-inserted\" flag is\n // set to true and it does not execute\n var div = ownerDocument.createElement('div');\n var type = this._currentElement.type;\n div.innerHTML = '<' + type + '></' + type + '>';\n el = div.removeChild(div.firstChild);\n } else if (props.is) {\n el = ownerDocument.createElement(this._currentElement.type, props.is);\n } else {\n // Separate else branch instead of using `props.is || undefined` above becuase of a Firefox bug.\n // See discussion in https://github.com/facebook/react/pull/6896\n // and discussion in https://bugzilla.mozilla.org/show_bug.cgi?id=1276240\n el = ownerDocument.createElement(this._currentElement.type);\n }\n } else {\n el = ownerDocument.createElementNS(namespaceURI, this._currentElement.type);\n }\n ReactDOMComponentTree.precacheNode(this, el);\n this._flags |= Flags.hasCachedChildNodes;\n if (!this._hostParent) {\n DOMPropertyOperations.setAttributeForRoot(el);\n }\n this._updateDOMProperties(null, props, transaction);\n var lazyTree = DOMLazyTree(el);\n this._createInitialChildren(transaction, props, context, lazyTree);\n mountImage = lazyTree;\n } else {\n var tagOpen = this._createOpenTagMarkupAndPutListeners(transaction, props);\n var tagContent = this._createContentMarkup(transaction, props, context);\n if (!tagContent && omittedCloseTags[this._tag]) {\n mountImage = tagOpen + '/>';\n } else {\n mountImage = tagOpen + '>' + tagContent + '</' + this._currentElement.type + '>';\n }\n }\n\n switch (this._tag) {\n case 'input':\n transaction.getReactMountReady().enqueue(inputPostMount, this);\n if (props.autoFocus) {\n transaction.getReactMountReady().enqueue(AutoFocusUtils.focusDOMComponent, this);\n }\n break;\n case 'textarea':\n transaction.getReactMountReady().enqueue(textareaPostMount, this);\n if (props.autoFocus) {\n transaction.getReactMountReady().enqueue(AutoFocusUtils.focusDOMComponent, this);\n }\n break;\n case 'select':\n if (props.autoFocus) {\n transaction.getReactMountReady().enqueue(AutoFocusUtils.focusDOMComponent, this);\n }\n break;\n case 'button':\n if (props.autoFocus) {\n transaction.getReactMountReady().enqueue(AutoFocusUtils.focusDOMComponent, this);\n }\n break;\n case 'option':\n transaction.getReactMountReady().enqueue(optionPostMount, this);\n break;\n }\n\n return mountImage;\n },\n\n /**\n * Creates markup for the open tag and all attributes.\n *\n * This method has side effects because events get registered.\n *\n * Iterating over object properties is faster than iterating over arrays.\n * @see http://jsperf.com/obj-vs-arr-iteration\n *\n * @private\n * @param {ReactReconcileTransaction|ReactServerRenderingTransaction} transaction\n * @param {object} props\n * @return {string} Markup of opening tag.\n */\n _createOpenTagMarkupAndPutListeners: function (transaction, props) {\n var ret = '<' + this._currentElement.type;\n\n for (var propKey in props) {\n if (!props.hasOwnProperty(propKey)) {\n continue;\n }\n var propValue = props[propKey];\n if (propValue == null) {\n continue;\n }\n if (registrationNameModules.hasOwnProperty(propKey)) {\n if (propValue) {\n enqueuePutListener(this, propKey, propValue, transaction);\n }\n } else {\n if (propKey === STYLE) {\n if (propValue) {\n if (process.env.NODE_ENV !== 'production') {\n // See `_updateDOMProperties`. style block\n this._previousStyle = propValue;\n }\n propValue = this._previousStyleCopy = _assign({}, props.style);\n }\n propValue = CSSPropertyOperations.createMarkupForStyles(propValue, this);\n }\n var markup = null;\n if (this._tag != null && isCustomComponent(this._tag, props)) {\n if (!RESERVED_PROPS.hasOwnProperty(propKey)) {\n markup = DOMPropertyOperations.createMarkupForCustomAttribute(propKey, propValue);\n }\n } else {\n markup = DOMPropertyOperations.createMarkupForProperty(propKey, propValue);\n }\n if (markup) {\n ret += ' ' + markup;\n }\n }\n }\n\n // For static pages, no need to put React ID and checksum. Saves lots of\n // bytes.\n if (transaction.renderToStaticMarkup) {\n return ret;\n }\n\n if (!this._hostParent) {\n ret += ' ' + DOMPropertyOperations.createMarkupForRoot();\n }\n ret += ' ' + DOMPropertyOperations.createMarkupForID(this._domID);\n return ret;\n },\n\n /**\n * Creates markup for the content between the tags.\n *\n * @private\n * @param {ReactReconcileTransaction|ReactServerRenderingTransaction} transaction\n * @param {object} props\n * @param {object} context\n * @return {string} Content markup.\n */\n _createContentMarkup: function (transaction, props, context) {\n var ret = '';\n\n // Intentional use of != to avoid catching zero/false.\n var innerHTML = props.dangerouslySetInnerHTML;\n if (innerHTML != null) {\n if (innerHTML.__html != null) {\n ret = innerHTML.__html;\n }\n } else {\n var contentToUse = CONTENT_TYPES[typeof props.children] ? props.children : null;\n var childrenToUse = contentToUse != null ? null : props.children;\n if (contentToUse != null) {\n // TODO: Validate that text is allowed as a child of this node\n ret = escapeTextContentForBrowser(contentToUse);\n if (process.env.NODE_ENV !== 'production') {\n setAndValidateContentChildDev.call(this, contentToUse);\n }\n } else if (childrenToUse != null) {\n var mountImages = this.mountChildren(childrenToUse, transaction, context);\n ret = mountImages.join('');\n }\n }\n if (newlineEatingTags[this._tag] && ret.charAt(0) === '\\n') {\n // text/html ignores the first character in these tags if it's a newline\n // Prefer to break application/xml over text/html (for now) by adding\n // a newline specifically to get eaten by the parser. (Alternately for\n // textareas, replacing \"^\\n\" with \"\\r\\n\" doesn't get eaten, and the first\n // \\r is normalized out by HTMLTextAreaElement#value.)\n // See: <http://www.w3.org/TR/html-polyglot/#newlines-in-textarea-and-pre>\n // See: <http://www.w3.org/TR/html5/syntax.html#element-restrictions>\n // See: <http://www.w3.org/TR/html5/syntax.html#newlines>\n // See: Parsing of \"textarea\" \"listing\" and \"pre\" elements\n // from <http://www.w3.org/TR/html5/syntax.html#parsing-main-inbody>\n return '\\n' + ret;\n } else {\n return ret;\n }\n },\n\n _createInitialChildren: function (transaction, props, context, lazyTree) {\n // Intentional use of != to avoid catching zero/false.\n var innerHTML = props.dangerouslySetInnerHTML;\n if (innerHTML != null) {\n if (innerHTML.__html != null) {\n DOMLazyTree.queueHTML(lazyTree, innerHTML.__html);\n }\n } else {\n var contentToUse = CONTENT_TYPES[typeof props.children] ? props.children : null;\n var childrenToUse = contentToUse != null ? null : props.children;\n // TODO: Validate that text is allowed as a child of this node\n if (contentToUse != null) {\n // Avoid setting textContent when the text is empty. In IE11 setting\n // textContent on a text area will cause the placeholder to not\n // show within the textarea until it has been focused and blurred again.\n // https://github.com/facebook/react/issues/6731#issuecomment-254874553\n if (contentToUse !== '') {\n if (process.env.NODE_ENV !== 'production') {\n setAndValidateContentChildDev.call(this, contentToUse);\n }\n DOMLazyTree.queueText(lazyTree, contentToUse);\n }\n } else if (childrenToUse != null) {\n var mountImages = this.mountChildren(childrenToUse, transaction, context);\n for (var i = 0; i < mountImages.length; i++) {\n DOMLazyTree.queueChild(lazyTree, mountImages[i]);\n }\n }\n }\n },\n\n /**\n * Receives a next element and updates the component.\n *\n * @internal\n * @param {ReactElement} nextElement\n * @param {ReactReconcileTransaction|ReactServerRenderingTransaction} transaction\n * @param {object} context\n */\n receiveComponent: function (nextElement, transaction, context) {\n var prevElement = this._currentElement;\n this._currentElement = nextElement;\n this.updateComponent(transaction, prevElement, nextElement, context);\n },\n\n /**\n * Updates a DOM component after it has already been allocated and\n * attached to the DOM. Reconciles the root DOM node, then recurses.\n *\n * @param {ReactReconcileTransaction} transaction\n * @param {ReactElement} prevElement\n * @param {ReactElement} nextElement\n * @internal\n * @overridable\n */\n updateComponent: function (transaction, prevElement, nextElement, context) {\n var lastProps = prevElement.props;\n var nextProps = this._currentElement.props;\n\n switch (this._tag) {\n case 'input':\n lastProps = ReactDOMInput.getHostProps(this, lastProps);\n nextProps = ReactDOMInput.getHostProps(this, nextProps);\n break;\n case 'option':\n lastProps = ReactDOMOption.getHostProps(this, lastProps);\n nextProps = ReactDOMOption.getHostProps(this, nextProps);\n break;\n case 'select':\n lastProps = ReactDOMSelect.getHostProps(this, lastProps);\n nextProps = ReactDOMSelect.getHostProps(this, nextProps);\n break;\n case 'textarea':\n lastProps = ReactDOMTextarea.getHostProps(this, lastProps);\n nextProps = ReactDOMTextarea.getHostProps(this, nextProps);\n break;\n }\n\n assertValidProps(this, nextProps);\n this._updateDOMProperties(lastProps, nextProps, transaction);\n this._updateDOMChildren(lastProps, nextProps, transaction, context);\n\n switch (this._tag) {\n case 'input':\n // Update the wrapper around inputs *after* updating props. This has to\n // happen after `_updateDOMProperties`. Otherwise HTML5 input validations\n // raise warnings and prevent the new value from being assigned.\n ReactDOMInput.updateWrapper(this);\n\n // We also check that we haven't missed a value update, such as a\n // Radio group shifting the checked value to another named radio input.\n inputValueTracking.updateValueIfChanged(this);\n break;\n case 'textarea':\n ReactDOMTextarea.updateWrapper(this);\n break;\n case 'select':\n // <select> value update needs to occur after <option> children\n // reconciliation\n transaction.getReactMountReady().enqueue(postUpdateSelectWrapper, this);\n break;\n }\n },\n\n /**\n * Reconciles the properties by detecting differences in property values and\n * updating the DOM as necessary. This function is probably the single most\n * critical path for performance optimization.\n *\n * TODO: Benchmark whether checking for changed values in memory actually\n * improves performance (especially statically positioned elements).\n * TODO: Benchmark the effects of putting this at the top since 99% of props\n * do not change for a given reconciliation.\n * TODO: Benchmark areas that can be improved with caching.\n *\n * @private\n * @param {object} lastProps\n * @param {object} nextProps\n * @param {?DOMElement} node\n */\n _updateDOMProperties: function (lastProps, nextProps, transaction) {\n var propKey;\n var styleName;\n var styleUpdates;\n for (propKey in lastProps) {\n if (nextProps.hasOwnProperty(propKey) || !lastProps.hasOwnProperty(propKey) || lastProps[propKey] == null) {\n continue;\n }\n if (propKey === STYLE) {\n var lastStyle = this._previousStyleCopy;\n for (styleName in lastStyle) {\n if (lastStyle.hasOwnProperty(styleName)) {\n styleUpdates = styleUpdates || {};\n styleUpdates[styleName] = '';\n }\n }\n this._previousStyleCopy = null;\n } else if (registrationNameModules.hasOwnProperty(propKey)) {\n if (lastProps[propKey]) {\n // Only call deleteListener if there was a listener previously or\n // else willDeleteListener gets called when there wasn't actually a\n // listener (e.g., onClick={null})\n deleteListener(this, propKey);\n }\n } else if (isCustomComponent(this._tag, lastProps)) {\n if (!RESERVED_PROPS.hasOwnProperty(propKey)) {\n DOMPropertyOperations.deleteValueForAttribute(getNode(this), propKey);\n }\n } else if (DOMProperty.properties[propKey] || DOMProperty.isCustomAttribute(propKey)) {\n DOMPropertyOperations.deleteValueForProperty(getNode(this), propKey);\n }\n }\n for (propKey in nextProps) {\n var nextProp = nextProps[propKey];\n var lastProp = propKey === STYLE ? this._previousStyleCopy : lastProps != null ? lastProps[propKey] : undefined;\n if (!nextProps.hasOwnProperty(propKey) || nextProp === lastProp || nextProp == null && lastProp == null) {\n continue;\n }\n if (propKey === STYLE) {\n if (nextProp) {\n if (process.env.NODE_ENV !== 'production') {\n checkAndWarnForMutatedStyle(this._previousStyleCopy, this._previousStyle, this);\n this._previousStyle = nextProp;\n }\n nextProp = this._previousStyleCopy = _assign({}, nextProp);\n } else {\n this._previousStyleCopy = null;\n }\n if (lastProp) {\n // Unset styles on `lastProp` but not on `nextProp`.\n for (styleName in lastProp) {\n if (lastProp.hasOwnProperty(styleName) && (!nextProp || !nextProp.hasOwnProperty(styleName))) {\n styleUpdates = styleUpdates || {};\n styleUpdates[styleName] = '';\n }\n }\n // Update styles that changed since `lastProp`.\n for (styleName in nextProp) {\n if (nextProp.hasOwnProperty(styleName) && lastProp[styleName] !== nextProp[styleName]) {\n styleUpdates = styleUpdates || {};\n styleUpdates[styleName] = nextProp[styleName];\n }\n }\n } else {\n // Relies on `updateStylesByID` not mutating `styleUpdates`.\n styleUpdates = nextProp;\n }\n } else if (registrationNameModules.hasOwnProperty(propKey)) {\n if (nextProp) {\n enqueuePutListener(this, propKey, nextProp, transaction);\n } else if (lastProp) {\n deleteListener(this, propKey);\n }\n } else if (isCustomComponent(this._tag, nextProps)) {\n if (!RESERVED_PROPS.hasOwnProperty(propKey)) {\n DOMPropertyOperations.setValueForAttribute(getNode(this), propKey, nextProp);\n }\n } else if (DOMProperty.properties[propKey] || DOMProperty.isCustomAttribute(propKey)) {\n var node = getNode(this);\n // If we're updating to null or undefined, we should remove the property\n // from the DOM node instead of inadvertently setting to a string. This\n // brings us in line with the same behavior we have on initial render.\n if (nextProp != null) {\n DOMPropertyOperations.setValueForProperty(node, propKey, nextProp);\n } else {\n DOMPropertyOperations.deleteValueForProperty(node, propKey);\n }\n }\n }\n if (styleUpdates) {\n CSSPropertyOperations.setValueForStyles(getNode(this), styleUpdates, this);\n }\n },\n\n /**\n * Reconciles the children with the various properties that affect the\n * children content.\n *\n * @param {object} lastProps\n * @param {object} nextProps\n * @param {ReactReconcileTransaction} transaction\n * @param {object} context\n */\n _updateDOMChildren: function (lastProps, nextProps, transaction, context) {\n var lastContent = CONTENT_TYPES[typeof lastProps.children] ? lastProps.children : null;\n var nextContent = CONTENT_TYPES[typeof nextProps.children] ? nextProps.children : null;\n\n var lastHtml = lastProps.dangerouslySetInnerHTML && lastProps.dangerouslySetInnerHTML.__html;\n var nextHtml = nextProps.dangerouslySetInnerHTML && nextProps.dangerouslySetInnerHTML.__html;\n\n // Note the use of `!=` which checks for null or undefined.\n var lastChildren = lastContent != null ? null : lastProps.children;\n var nextChildren = nextContent != null ? null : nextProps.children;\n\n // If we're switching from children to content/html or vice versa, remove\n // the old content\n var lastHasContentOrHtml = lastContent != null || lastHtml != null;\n var nextHasContentOrHtml = nextContent != null || nextHtml != null;\n if (lastChildren != null && nextChildren == null) {\n this.updateChildren(null, transaction, context);\n } else if (lastHasContentOrHtml && !nextHasContentOrHtml) {\n this.updateTextContent('');\n if (process.env.NODE_ENV !== 'production') {\n ReactInstrumentation.debugTool.onSetChildren(this._debugID, []);\n }\n }\n\n if (nextContent != null) {\n if (lastContent !== nextContent) {\n this.updateTextContent('' + nextContent);\n if (process.env.NODE_ENV !== 'production') {\n setAndValidateContentChildDev.call(this, nextContent);\n }\n }\n } else if (nextHtml != null) {\n if (lastHtml !== nextHtml) {\n this.updateMarkup('' + nextHtml);\n }\n if (process.env.NODE_ENV !== 'production') {\n ReactInstrumentation.debugTool.onSetChildren(this._debugID, []);\n }\n } else if (nextChildren != null) {\n if (process.env.NODE_ENV !== 'production') {\n setAndValidateContentChildDev.call(this, null);\n }\n\n this.updateChildren(nextChildren, transaction, context);\n }\n },\n\n getHostNode: function () {\n return getNode(this);\n },\n\n /**\n * Destroys all event registrations for this instance. Does not remove from\n * the DOM. That must be done by the parent.\n *\n * @internal\n */\n unmountComponent: function (safely) {\n switch (this._tag) {\n case 'audio':\n case 'form':\n case 'iframe':\n case 'img':\n case 'link':\n case 'object':\n case 'source':\n case 'video':\n var listeners = this._wrapperState.listeners;\n if (listeners) {\n for (var i = 0; i < listeners.length; i++) {\n listeners[i].remove();\n }\n }\n break;\n case 'input':\n case 'textarea':\n inputValueTracking.stopTracking(this);\n break;\n case 'html':\n case 'head':\n case 'body':\n /**\n * Components like <html> <head> and <body> can't be removed or added\n * easily in a cross-browser way, however it's valuable to be able to\n * take advantage of React's reconciliation for styling and <title>\n * management. So we just document it and throw in dangerous cases.\n */\n !false ? process.env.NODE_ENV !== 'production' ? invariant(false, '<%s> tried to unmount. Because of cross-browser quirks it is impossible to unmount some top-level components (eg <html>, <head>, and <body>) reliably and efficiently. To fix this, have a single top-level component that never unmounts render these elements.', this._tag) : _prodInvariant('66', this._tag) : void 0;\n break;\n }\n\n this.unmountChildren(safely);\n ReactDOMComponentTree.uncacheNode(this);\n EventPluginHub.deleteAllListeners(this);\n this._rootNodeID = 0;\n this._domID = 0;\n this._wrapperState = null;\n\n if (process.env.NODE_ENV !== 'production') {\n setAndValidateContentChildDev.call(this, null);\n }\n },\n\n getPublicInstance: function () {\n return getNode(this);\n }\n};\n\n_assign(ReactDOMComponent.prototype, ReactDOMComponent.Mixin, ReactMultiChild.Mixin);\n\nmodule.exports = ReactDOMComponent;","/**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n */\n\n'use strict';\n\nvar ReactDOMComponentTree = require('./ReactDOMComponentTree');\n\nvar focusNode = require('fbjs/lib/focusNode');\n\nvar AutoFocusUtils = {\n focusDOMComponent: function () {\n focusNode(ReactDOMComponentTree.getNodeFromInstance(this));\n }\n};\n\nmodule.exports = AutoFocusUtils;","/**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n */\n\n'use strict';\n\nvar CSSProperty = require('./CSSProperty');\nvar ExecutionEnvironment = require('fbjs/lib/ExecutionEnvironment');\nvar ReactInstrumentation = require('./ReactInstrumentation');\n\nvar camelizeStyleName = require('fbjs/lib/camelizeStyleName');\nvar dangerousStyleValue = require('./dangerousStyleValue');\nvar hyphenateStyleName = require('fbjs/lib/hyphenateStyleName');\nvar memoizeStringOnly = require('fbjs/lib/memoizeStringOnly');\nvar warning = require('fbjs/lib/warning');\n\nvar processStyleName = memoizeStringOnly(function (styleName) {\n return hyphenateStyleName(styleName);\n});\n\nvar hasShorthandPropertyBug = false;\nvar styleFloatAccessor = 'cssFloat';\nif (ExecutionEnvironment.canUseDOM) {\n var tempStyle = document.createElement('div').style;\n try {\n // IE8 throws \"Invalid argument.\" if resetting shorthand style properties.\n tempStyle.font = '';\n } catch (e) {\n hasShorthandPropertyBug = true;\n }\n // IE8 only supports accessing cssFloat (standard) as styleFloat\n if (document.documentElement.style.cssFloat === undefined) {\n styleFloatAccessor = 'styleFloat';\n }\n}\n\nif (process.env.NODE_ENV !== 'production') {\n // 'msTransform' is correct, but the other prefixes should be capitalized\n var badVendoredStyleNamePattern = /^(?:webkit|moz|o)[A-Z]/;\n\n // style values shouldn't contain a semicolon\n var badStyleValueWithSemicolonPattern = /;\\s*$/;\n\n var warnedStyleNames = {};\n var warnedStyleValues = {};\n var warnedForNaNValue = false;\n\n var warnHyphenatedStyleName = function (name, owner) {\n if (warnedStyleNames.hasOwnProperty(name) && warnedStyleNames[name]) {\n return;\n }\n\n warnedStyleNames[name] = true;\n process.env.NODE_ENV !== 'production' ? warning(false, 'Unsupported style property %s. Did you mean %s?%s', name, camelizeStyleName(name), checkRenderMessage(owner)) : void 0;\n };\n\n var warnBadVendoredStyleName = function (name, owner) {\n if (warnedStyleNames.hasOwnProperty(name) && warnedStyleNames[name]) {\n return;\n }\n\n warnedStyleNames[name] = true;\n process.env.NODE_ENV !== 'production' ? warning(false, 'Unsupported vendor-prefixed style property %s. Did you mean %s?%s', name, name.charAt(0).toUpperCase() + name.slice(1), checkRenderMessage(owner)) : void 0;\n };\n\n var warnStyleValueWithSemicolon = function (name, value, owner) {\n if (warnedStyleValues.hasOwnProperty(value) && warnedStyleValues[value]) {\n return;\n }\n\n warnedStyleValues[value] = true;\n process.env.NODE_ENV !== 'production' ? warning(false, \"Style property values shouldn't contain a semicolon.%s \" + 'Try \"%s: %s\" instead.', checkRenderMessage(owner), name, value.replace(badStyleValueWithSemicolonPattern, '')) : void 0;\n };\n\n var warnStyleValueIsNaN = function (name, value, owner) {\n if (warnedForNaNValue) {\n return;\n }\n\n warnedForNaNValue = true;\n process.env.NODE_ENV !== 'production' ? warning(false, '`NaN` is an invalid value for the `%s` css style property.%s', name, checkRenderMessage(owner)) : void 0;\n };\n\n var checkRenderMessage = function (owner) {\n if (owner) {\n var name = owner.getName();\n if (name) {\n return ' Check the render method of `' + name + '`.';\n }\n }\n return '';\n };\n\n /**\n * @param {string} name\n * @param {*} value\n * @param {ReactDOMComponent} component\n */\n var warnValidStyle = function (name, value, component) {\n var owner;\n if (component) {\n owner = component._currentElement._owner;\n }\n if (name.indexOf('-') > -1) {\n warnHyphenatedStyleName(name, owner);\n } else if (badVendoredStyleNamePattern.test(name)) {\n warnBadVendoredStyleName(name, owner);\n } else if (badStyleValueWithSemicolonPattern.test(value)) {\n warnStyleValueWithSemicolon(name, value, owner);\n }\n\n if (typeof value === 'number' && isNaN(value)) {\n warnStyleValueIsNaN(name, value, owner);\n }\n };\n}\n\n/**\n * Operations for dealing with CSS properties.\n */\nvar CSSPropertyOperations = {\n /**\n * Serializes a mapping of style properties for use as inline styles:\n *\n * > createMarkupForStyles({width: '200px', height: 0})\n * \"width:200px;height:0;\"\n *\n * Undefined values are ignored so that declarative programming is easier.\n * The result should be HTML-escaped before insertion into the DOM.\n *\n * @param {object} styles\n * @param {ReactDOMComponent} component\n * @return {?string}\n */\n createMarkupForStyles: function (styles, component) {\n var serialized = '';\n for (var styleName in styles) {\n if (!styles.hasOwnProperty(styleName)) {\n continue;\n }\n var isCustomProperty = styleName.indexOf('--') === 0;\n var styleValue = styles[styleName];\n if (process.env.NODE_ENV !== 'production') {\n if (!isCustomProperty) {\n warnValidStyle(styleName, styleValue, component);\n }\n }\n if (styleValue != null) {\n serialized += processStyleName(styleName) + ':';\n serialized += dangerousStyleValue(styleName, styleValue, component, isCustomProperty) + ';';\n }\n }\n return serialized || null;\n },\n\n /**\n * Sets the value for multiple styles on a node. If a value is specified as\n * '' (empty string), the corresponding style property will be unset.\n *\n * @param {DOMElement} node\n * @param {object} styles\n * @param {ReactDOMComponent} component\n */\n setValueForStyles: function (node, styles, component) {\n if (process.env.NODE_ENV !== 'production') {\n ReactInstrumentation.debugTool.onHostOperation({\n instanceID: component._debugID,\n type: 'update styles',\n payload: styles\n });\n }\n\n var style = node.style;\n for (var styleName in styles) {\n if (!styles.hasOwnProperty(styleName)) {\n continue;\n }\n var isCustomProperty = styleName.indexOf('--') === 0;\n if (process.env.NODE_ENV !== 'production') {\n if (!isCustomProperty) {\n warnValidStyle(styleName, styles[styleName], component);\n }\n }\n var styleValue = dangerousStyleValue(styleName, styles[styleName], component, isCustomProperty);\n if (styleName === 'float' || styleName === 'cssFloat') {\n styleName = styleFloatAccessor;\n }\n if (isCustomProperty) {\n style.setProperty(styleName, styleValue);\n } else if (styleValue) {\n style[styleName] = styleValue;\n } else {\n var expansion = hasShorthandPropertyBug && CSSProperty.shorthandPropertyExpansions[styleName];\n if (expansion) {\n // Shorthand property that IE8 won't like unsetting, so unset each\n // component to placate it\n for (var individualStyleName in expansion) {\n style[individualStyleName] = '';\n }\n } else {\n style[styleName] = '';\n }\n }\n }\n }\n};\n\nmodule.exports = CSSPropertyOperations;","/**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * @typechecks\n */\n\n'use strict';\n\nvar camelize = require('./camelize');\n\nvar msPattern = /^-ms-/;\n\n/**\n * Camelcases a hyphenated CSS property name, for example:\n *\n * > camelizeStyleName('background-color')\n * < \"backgroundColor\"\n * > camelizeStyleName('-moz-transition')\n * < \"MozTransition\"\n * > camelizeStyleName('-ms-transition')\n * < \"msTransition\"\n *\n * As Andi Smith suggests\n * (http://www.andismith.com/blog/2012/02/modernizr-prefixed/), an `-ms` prefix\n * is converted to lowercase `ms`.\n *\n * @param {string} string\n * @return {string}\n */\nfunction camelizeStyleName(string) {\n return camelize(string.replace(msPattern, 'ms-'));\n}\n\nmodule.exports = camelizeStyleName;","\"use strict\";\n\n/**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * @typechecks\n */\n\nvar _hyphenPattern = /-(.)/g;\n\n/**\n * Camelcases a hyphenated string, for example:\n *\n * > camelize('background-color')\n * < \"backgroundColor\"\n *\n * @param {string} string\n * @return {string}\n */\nfunction camelize(string) {\n return string.replace(_hyphenPattern, function (_, character) {\n return character.toUpperCase();\n });\n}\n\nmodule.exports = camelize;","/**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n */\n\n'use strict';\n\nvar CSSProperty = require('./CSSProperty');\nvar warning = require('fbjs/lib/warning');\n\nvar isUnitlessNumber = CSSProperty.isUnitlessNumber;\nvar styleWarnings = {};\n\n/**\n * Convert a value into the proper css writable value. The style name `name`\n * should be logical (no hyphens), as specified\n * in `CSSProperty.isUnitlessNumber`.\n *\n * @param {string} name CSS property name such as `topMargin`.\n * @param {*} value CSS property value such as `10px`.\n * @param {ReactDOMComponent} component\n * @return {string} Normalized style value with dimensions applied.\n */\nfunction dangerousStyleValue(name, value, component, isCustomProperty) {\n // Note that we've removed escapeTextForBrowser() calls here since the\n // whole string will be escaped when the attribute is injected into\n // the markup. If you provide unsafe user data here they can inject\n // arbitrary CSS which may be problematic (I couldn't repro this):\n // https://www.owasp.org/index.php/XSS_Filter_Evasion_Cheat_Sheet\n // http://www.thespanner.co.uk/2007/11/26/ultimate-xss-css-injection/\n // This is not an XSS hole but instead a potential CSS injection issue\n // which has lead to a greater discussion about how we're going to\n // trust URLs moving forward. See #2115901\n\n var isEmpty = value == null || typeof value === 'boolean' || value === '';\n if (isEmpty) {\n return '';\n }\n\n var isNonNumeric = isNaN(value);\n if (isCustomProperty || isNonNumeric || value === 0 || isUnitlessNumber.hasOwnProperty(name) && isUnitlessNumber[name]) {\n return '' + value; // cast to string\n }\n\n if (typeof value === 'string') {\n if (process.env.NODE_ENV !== 'production') {\n // Allow '0' to pass through without warning. 0 is already special and\n // doesn't require units, so we don't need to warn about it.\n if (component && value !== '0') {\n var owner = component._currentElement._owner;\n var ownerName = owner ? owner.getName() : null;\n if (ownerName && !styleWarnings[ownerName]) {\n styleWarnings[ownerName] = {};\n }\n var warned = false;\n if (ownerName) {\n var warnings = styleWarnings[ownerName];\n warned = warnings[name];\n if (!warned) {\n warnings[name] = true;\n }\n }\n if (!warned) {\n process.env.NODE_ENV !== 'production' ? warning(false, 'a `%s` tag (owner: `%s`) was passed a numeric string value ' + 'for CSS property `%s` (value: `%s`) which will be treated ' + 'as a unitless number in a future version of React.', component._currentElement.type, ownerName || 'unknown', name, value) : void 0;\n }\n }\n }\n value = value.trim();\n }\n return value + 'px';\n}\n\nmodule.exports = dangerousStyleValue;","/**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * @typechecks\n */\n\n'use strict';\n\nvar hyphenate = require('./hyphenate');\n\nvar msPattern = /^ms-/;\n\n/**\n * Hyphenates a camelcased CSS property name, for example:\n *\n * > hyphenateStyleName('backgroundColor')\n * < \"background-color\"\n * > hyphenateStyleName('MozTransition')\n * < \"-moz-transition\"\n * > hyphenateStyleName('msTransition')\n * < \"-ms-transition\"\n *\n * As Modernizr suggests (http://modernizr.com/docs/#prefixed), an `ms` prefix\n * is converted to `-ms-`.\n *\n * @param {string} string\n * @return {string}\n */\nfunction hyphenateStyleName(string) {\n return hyphenate(string).replace(msPattern, '-ms-');\n}\n\nmodule.exports = hyphenateStyleName;","'use strict';\n\n/**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * @typechecks\n */\n\nvar _uppercasePattern = /([A-Z])/g;\n\n/**\n * Hyphenates a camelcased string, for example:\n *\n * > hyphenate('backgroundColor')\n * < \"background-color\"\n *\n * For CSS style names, use `hyphenateStyleName` instead which works properly\n * with all vendor prefixes, including `ms`.\n *\n * @param {string} string\n * @return {string}\n */\nfunction hyphenate(string) {\n return string.replace(_uppercasePattern, '-$1').toLowerCase();\n}\n\nmodule.exports = hyphenate;","/**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * \n * @typechecks static-only\n */\n\n'use strict';\n\n/**\n * Memoizes the return value of a function that accepts one string argument.\n */\n\nfunction memoizeStringOnly(callback) {\n var cache = {};\n return function (string) {\n if (!cache.hasOwnProperty(string)) {\n cache[string] = callback.call(this, string);\n }\n return cache[string];\n };\n}\n\nmodule.exports = memoizeStringOnly;","/**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n */\n\n'use strict';\n\nvar escapeTextContentForBrowser = require('./escapeTextContentForBrowser');\n\n/**\n * Escapes attribute value to prevent scripting attacks.\n *\n * @param {*} value Value to escape.\n * @return {string} An escaped string.\n */\nfunction quoteAttributeValueForBrowser(value) {\n return '\"' + escapeTextContentForBrowser(value) + '\"';\n}\n\nmodule.exports = quoteAttributeValueForBrowser;","/**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n */\n\n'use strict';\n\nvar EventPluginHub = require('./EventPluginHub');\n\nfunction runEventQueueInBatch(events) {\n EventPluginHub.enqueueEvents(events);\n EventPluginHub.processEventQueue(false);\n}\n\nvar ReactEventEmitterMixin = {\n /**\n * Streams a fired top-level event to `EventPluginHub` where plugins have the\n * opportunity to create `ReactEvent`s to be dispatched.\n */\n handleTopLevel: function (topLevelType, targetInst, nativeEvent, nativeEventTarget) {\n var events = EventPluginHub.extractEvents(topLevelType, targetInst, nativeEvent, nativeEventTarget);\n runEventQueueInBatch(events);\n }\n};\n\nmodule.exports = ReactEventEmitterMixin;","/**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n */\n\n'use strict';\n\nvar ExecutionEnvironment = require('fbjs/lib/ExecutionEnvironment');\n\n/**\n * Generate a mapping of standard vendor prefixes using the defined style property and event name.\n *\n * @param {string} styleProp\n * @param {string} eventName\n * @returns {object}\n */\nfunction makePrefixMap(styleProp, eventName) {\n var prefixes = {};\n\n prefixes[styleProp.toLowerCase()] = eventName.toLowerCase();\n prefixes['Webkit' + styleProp] = 'webkit' + eventName;\n prefixes['Moz' + styleProp] = 'moz' + eventName;\n prefixes['ms' + styleProp] = 'MS' + eventName;\n prefixes['O' + styleProp] = 'o' + eventName.toLowerCase();\n\n return prefixes;\n}\n\n/**\n * A list of event names to a configurable list of vendor prefixes.\n */\nvar vendorPrefixes = {\n animationend: makePrefixMap('Animation', 'AnimationEnd'),\n animationiteration: makePrefixMap('Animation', 'AnimationIteration'),\n animationstart: makePrefixMap('Animation', 'AnimationStart'),\n transitionend: makePrefixMap('Transition', 'TransitionEnd')\n};\n\n/**\n * Event names that have already been detected and prefixed (if applicable).\n */\nvar prefixedEventNames = {};\n\n/**\n * Element to check for prefixes on.\n */\nvar style = {};\n\n/**\n * Bootstrap if a DOM exists.\n */\nif (ExecutionEnvironment.canUseDOM) {\n style = document.createElement('div').style;\n\n // On some platforms, in particular some releases of Android 4.x,\n // the un-prefixed \"animation\" and \"transition\" properties are defined on the\n // style object but the events that fire will still be prefixed, so we need\n // to check if the un-prefixed events are usable, and if not remove them from the map.\n if (!('AnimationEvent' in window)) {\n delete vendorPrefixes.animationend.animation;\n delete vendorPrefixes.animationiteration.animation;\n delete vendorPrefixes.animationstart.animation;\n }\n\n // Same as above\n if (!('TransitionEvent' in window)) {\n delete vendorPrefixes.transitionend.transition;\n }\n}\n\n/**\n * Attempts to determine the correct vendor prefixed event name.\n *\n * @param {string} eventName\n * @returns {string}\n */\nfunction getVendorPrefixedEventName(eventName) {\n if (prefixedEventNames[eventName]) {\n return prefixedEventNames[eventName];\n } else if (!vendorPrefixes[eventName]) {\n return eventName;\n }\n\n var prefixMap = vendorPrefixes[eventName];\n\n for (var styleProp in prefixMap) {\n if (prefixMap.hasOwnProperty(styleProp) && styleProp in style) {\n return prefixedEventNames[eventName] = prefixMap[styleProp];\n }\n }\n\n return '';\n}\n\nmodule.exports = getVendorPrefixedEventName;","/**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n */\n\n'use strict';\n\nvar _prodInvariant = require('./reactProdInvariant'),\n _assign = require('object-assign');\n\nvar DOMPropertyOperations = require('./DOMPropertyOperations');\nvar LinkedValueUtils = require('./LinkedValueUtils');\nvar ReactDOMComponentTree = require('./ReactDOMComponentTree');\nvar ReactUpdates = require('./ReactUpdates');\n\nvar invariant = require('fbjs/lib/invariant');\nvar warning = require('fbjs/lib/warning');\n\nvar didWarnValueLink = false;\nvar didWarnCheckedLink = false;\nvar didWarnValueDefaultValue = false;\nvar didWarnCheckedDefaultChecked = false;\nvar didWarnControlledToUncontrolled = false;\nvar didWarnUncontrolledToControlled = false;\n\nfunction forceUpdateIfMounted() {\n if (this._rootNodeID) {\n // DOM component is still mounted; update\n ReactDOMInput.updateWrapper(this);\n }\n}\n\nfunction isControlled(props) {\n var usesChecked = props.type === 'checkbox' || props.type === 'radio';\n return usesChecked ? props.checked != null : props.value != null;\n}\n\n/**\n * Implements an <input> host component that allows setting these optional\n * props: `checked`, `value`, `defaultChecked`, and `defaultValue`.\n *\n * If `checked` or `value` are not supplied (or null/undefined), user actions\n * that affect the checked state or value will trigger updates to the element.\n *\n * If they are supplied (and not null/undefined), the rendered element will not\n * trigger updates to the element. Instead, the props must change in order for\n * the rendered element to be updated.\n *\n * The rendered element will be initialized as unchecked (or `defaultChecked`)\n * with an empty value (or `defaultValue`).\n *\n * @see http://www.w3.org/TR/2012/WD-html5-20121025/the-input-element.html\n */\nvar ReactDOMInput = {\n getHostProps: function (inst, props) {\n var value = LinkedValueUtils.getValue(props);\n var checked = LinkedValueUtils.getChecked(props);\n\n var hostProps = _assign({\n // Make sure we set .type before any other properties (setting .value\n // before .type means .value is lost in IE11 and below)\n type: undefined,\n // Make sure we set .step before .value (setting .value before .step\n // means .value is rounded on mount, based upon step precision)\n step: undefined,\n // Make sure we set .min & .max before .value (to ensure proper order\n // in corner cases such as min or max deriving from value, e.g. Issue #7170)\n min: undefined,\n max: undefined\n }, props, {\n defaultChecked: undefined,\n defaultValue: undefined,\n value: value != null ? value : inst._wrapperState.initialValue,\n checked: checked != null ? checked : inst._wrapperState.initialChecked,\n onChange: inst._wrapperState.onChange\n });\n\n return hostProps;\n },\n\n mountWrapper: function (inst, props) {\n if (process.env.NODE_ENV !== 'production') {\n LinkedValueUtils.checkPropTypes('input', props, inst._currentElement._owner);\n\n var owner = inst._currentElement._owner;\n\n if (props.valueLink !== undefined && !didWarnValueLink) {\n process.env.NODE_ENV !== 'production' ? warning(false, '`valueLink` prop on `input` is deprecated; set `value` and `onChange` instead.') : void 0;\n didWarnValueLink = true;\n }\n if (props.checkedLink !== undefined && !didWarnCheckedLink) {\n process.env.NODE_ENV !== 'production' ? warning(false, '`checkedLink` prop on `input` is deprecated; set `value` and `onChange` instead.') : void 0;\n didWarnCheckedLink = true;\n }\n if (props.checked !== undefined && props.defaultChecked !== undefined && !didWarnCheckedDefaultChecked) {\n process.env.NODE_ENV !== 'production' ? warning(false, '%s contains an input of type %s with both checked and defaultChecked props. ' + 'Input elements must be either controlled or uncontrolled ' + '(specify either the checked prop, or the defaultChecked prop, but not ' + 'both). Decide between using a controlled or uncontrolled input ' + 'element and remove one of these props. More info: ' + 'https://fb.me/react-controlled-components', owner && owner.getName() || 'A component', props.type) : void 0;\n didWarnCheckedDefaultChecked = true;\n }\n if (props.value !== undefined && props.defaultValue !== undefined && !didWarnValueDefaultValue) {\n process.env.NODE_ENV !== 'production' ? warning(false, '%s contains an input of type %s with both value and defaultValue props. ' + 'Input elements must be either controlled or uncontrolled ' + '(specify either the value prop, or the defaultValue prop, but not ' + 'both). Decide between using a controlled or uncontrolled input ' + 'element and remove one of these props. More info: ' + 'https://fb.me/react-controlled-components', owner && owner.getName() || 'A component', props.type) : void 0;\n didWarnValueDefaultValue = true;\n }\n }\n\n var defaultValue = props.defaultValue;\n inst._wrapperState = {\n initialChecked: props.checked != null ? props.checked : props.defaultChecked,\n initialValue: props.value != null ? props.value : defaultValue,\n listeners: null,\n onChange: _handleChange.bind(inst),\n controlled: isControlled(props)\n };\n },\n\n updateWrapper: function (inst) {\n var props = inst._currentElement.props;\n\n if (process.env.NODE_ENV !== 'production') {\n var controlled = isControlled(props);\n var owner = inst._currentElement._owner;\n\n if (!inst._wrapperState.controlled && controlled && !didWarnUncontrolledToControlled) {\n process.env.NODE_ENV !== 'production' ? warning(false, '%s is changing an uncontrolled input of type %s to be controlled. ' + 'Input elements should not switch from uncontrolled to controlled (or vice versa). ' + 'Decide between using a controlled or uncontrolled input ' + 'element for the lifetime of the component. More info: https://fb.me/react-controlled-components', owner && owner.getName() || 'A component', props.type) : void 0;\n didWarnUncontrolledToControlled = true;\n }\n if (inst._wrapperState.controlled && !controlled && !didWarnControlledToUncontrolled) {\n process.env.NODE_ENV !== 'production' ? warning(false, '%s is changing a controlled input of type %s to be uncontrolled. ' + 'Input elements should not switch from controlled to uncontrolled (or vice versa). ' + 'Decide between using a controlled or uncontrolled input ' + 'element for the lifetime of the component. More info: https://fb.me/react-controlled-components', owner && owner.getName() || 'A component', props.type) : void 0;\n didWarnControlledToUncontrolled = true;\n }\n }\n\n // TODO: Shouldn't this be getChecked(props)?\n var checked = props.checked;\n if (checked != null) {\n DOMPropertyOperations.setValueForProperty(ReactDOMComponentTree.getNodeFromInstance(inst), 'checked', checked || false);\n }\n\n var node = ReactDOMComponentTree.getNodeFromInstance(inst);\n var value = LinkedValueUtils.getValue(props);\n if (value != null) {\n if (value === 0 && node.value === '') {\n node.value = '0';\n // Note: IE9 reports a number inputs as 'text', so check props instead.\n } else if (props.type === 'number') {\n // Simulate `input.valueAsNumber`. IE9 does not support it\n var valueAsNumber = parseFloat(node.value, 10) || 0;\n\n if (\n // eslint-disable-next-line\n value != valueAsNumber ||\n // eslint-disable-next-line\n value == valueAsNumber && node.value != value) {\n // Cast `value` to a string to ensure the value is set correctly. While\n // browsers typically do this as necessary, jsdom doesn't.\n node.value = '' + value;\n }\n } else if (node.value !== '' + value) {\n // Cast `value` to a string to ensure the value is set correctly. While\n // browsers typically do this as necessary, jsdom doesn't.\n node.value = '' + value;\n }\n } else {\n if (props.value == null && props.defaultValue != null) {\n // In Chrome, assigning defaultValue to certain input types triggers input validation.\n // For number inputs, the display value loses trailing decimal points. For email inputs,\n // Chrome raises \"The specified value <x> is not a valid email address\".\n //\n // Here we check to see if the defaultValue has actually changed, avoiding these problems\n // when the user is inputting text\n //\n // https://github.com/facebook/react/issues/7253\n if (node.defaultValue !== '' + props.defaultValue) {\n node.defaultValue = '' + props.defaultValue;\n }\n }\n if (props.checked == null && props.defaultChecked != null) {\n node.defaultChecked = !!props.defaultChecked;\n }\n }\n },\n\n postMountWrapper: function (inst) {\n var props = inst._currentElement.props;\n\n // This is in postMount because we need access to the DOM node, which is not\n // available until after the component has mounted.\n var node = ReactDOMComponentTree.getNodeFromInstance(inst);\n\n // Detach value from defaultValue. We won't do anything if we're working on\n // submit or reset inputs as those values & defaultValues are linked. They\n // are not resetable nodes so this operation doesn't matter and actually\n // removes browser-default values (eg \"Submit Query\") when no value is\n // provided.\n\n switch (props.type) {\n case 'submit':\n case 'reset':\n break;\n case 'color':\n case 'date':\n case 'datetime':\n case 'datetime-local':\n case 'month':\n case 'time':\n case 'week':\n // This fixes the no-show issue on iOS Safari and Android Chrome:\n // https://github.com/facebook/react/issues/7233\n node.value = '';\n node.value = node.defaultValue;\n break;\n default:\n node.value = node.value;\n break;\n }\n\n // Normally, we'd just do `node.checked = node.checked` upon initial mount, less this bug\n // this is needed to work around a chrome bug where setting defaultChecked\n // will sometimes influence the value of checked (even after detachment).\n // Reference: https://bugs.chromium.org/p/chromium/issues/detail?id=608416\n // We need to temporarily unset name to avoid disrupting radio button groups.\n var name = node.name;\n if (name !== '') {\n node.name = '';\n }\n node.defaultChecked = !node.defaultChecked;\n node.defaultChecked = !node.defaultChecked;\n if (name !== '') {\n node.name = name;\n }\n }\n};\n\nfunction _handleChange(event) {\n var props = this._currentElement.props;\n\n var returnValue = LinkedValueUtils.executeOnChange(props, event);\n\n // Here we use asap to wait until all updates have propagated, which\n // is important when using controlled components within layers:\n // https://github.com/facebook/react/issues/1698\n ReactUpdates.asap(forceUpdateIfMounted, this);\n\n var name = props.name;\n if (props.type === 'radio' && name != null) {\n var rootNode = ReactDOMComponentTree.getNodeFromInstance(this);\n var queryRoot = rootNode;\n\n while (queryRoot.parentNode) {\n queryRoot = queryRoot.parentNode;\n }\n\n // If `rootNode.form` was non-null, then we could try `form.elements`,\n // but that sometimes behaves strangely in IE8. We could also try using\n // `form.getElementsByName`, but that will only return direct children\n // and won't include inputs that use the HTML5 `form=` attribute. Since\n // the input might not even be in a form, let's just use the global\n // `querySelectorAll` to ensure we don't miss anything.\n var group = queryRoot.querySelectorAll('input[name=' + JSON.stringify('' + name) + '][type=\"radio\"]');\n\n for (var i = 0; i < group.length; i++) {\n var otherNode = group[i];\n if (otherNode === rootNode || otherNode.form !== rootNode.form) {\n continue;\n }\n // This will throw if radio buttons rendered by different copies of React\n // and the same name are rendered into the same form (same as #1939).\n // That's probably okay; we don't support it just as we don't support\n // mixing React radio buttons with non-React ones.\n var otherInstance = ReactDOMComponentTree.getInstanceFromNode(otherNode);\n !otherInstance ? process.env.NODE_ENV !== 'production' ? invariant(false, 'ReactDOMInput: Mixing React and non-React radio inputs with the same `name` is not supported.') : _prodInvariant('90') : void 0;\n // If this is a controlled radio button group, forcing the input that\n // was previously checked to update will cause it to be come re-checked\n // as appropriate.\n ReactUpdates.asap(forceUpdateIfMounted, otherInstance);\n }\n }\n\n return returnValue;\n}\n\nmodule.exports = ReactDOMInput;","/**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * \n */\n\n'use strict';\n\nvar ReactPropTypesSecret = 'SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED';\n\nmodule.exports = ReactPropTypesSecret;","/**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n */\n\n'use strict';\n\nvar _assign = require('object-assign');\n\nvar React = require('react/lib/React');\nvar ReactDOMComponentTree = require('./ReactDOMComponentTree');\nvar ReactDOMSelect = require('./ReactDOMSelect');\n\nvar warning = require('fbjs/lib/warning');\nvar didWarnInvalidOptionChildren = false;\n\nfunction flattenChildren(children) {\n var content = '';\n\n // Flatten children and warn if they aren't strings or numbers;\n // invalid types are ignored.\n React.Children.forEach(children, function (child) {\n if (child == null) {\n return;\n }\n if (typeof child === 'string' || typeof child === 'number') {\n content += child;\n } else if (!didWarnInvalidOptionChildren) {\n didWarnInvalidOptionChildren = true;\n process.env.NODE_ENV !== 'production' ? warning(false, 'Only strings and numbers are supported as <option> children.') : void 0;\n }\n });\n\n return content;\n}\n\n/**\n * Implements an <option> host component that warns when `selected` is set.\n */\nvar ReactDOMOption = {\n mountWrapper: function (inst, props, hostParent) {\n // TODO (yungsters): Remove support for `selected` in <option>.\n if (process.env.NODE_ENV !== 'production') {\n process.env.NODE_ENV !== 'production' ? warning(props.selected == null, 'Use the `defaultValue` or `value` props on <select> instead of ' + 'setting `selected` on <option>.') : void 0;\n }\n\n // Look up whether this option is 'selected'\n var selectValue = null;\n if (hostParent != null) {\n var selectParent = hostParent;\n\n if (selectParent._tag === 'optgroup') {\n selectParent = selectParent._hostParent;\n }\n\n if (selectParent != null && selectParent._tag === 'select') {\n selectValue = ReactDOMSelect.getSelectValueContext(selectParent);\n }\n }\n\n // If the value is null (e.g., no specified value or after initial mount)\n // or missing (e.g., for <datalist>), we don't change props.selected\n var selected = null;\n if (selectValue != null) {\n var value;\n if (props.value != null) {\n value = props.value + '';\n } else {\n value = flattenChildren(props.children);\n }\n selected = false;\n if (Array.isArray(selectValue)) {\n // multiple\n for (var i = 0; i < selectValue.length; i++) {\n if ('' + selectValue[i] === value) {\n selected = true;\n break;\n }\n }\n } else {\n selected = '' + selectValue === value;\n }\n }\n\n inst._wrapperState = { selected: selected };\n },\n\n postMountWrapper: function (inst) {\n // value=\"\" should make a value attribute (#6219)\n var props = inst._currentElement.props;\n if (props.value != null) {\n var node = ReactDOMComponentTree.getNodeFromInstance(inst);\n node.setAttribute('value', props.value);\n }\n },\n\n getHostProps: function (inst, props) {\n var hostProps = _assign({ selected: undefined, children: undefined }, props);\n\n // Read state only from initial mount because <select> updates value\n // manually; we need the initial state only for server rendering\n if (inst._wrapperState.selected != null) {\n hostProps.selected = inst._wrapperState.selected;\n }\n\n var content = flattenChildren(props.children);\n\n if (content) {\n hostProps.children = content;\n }\n\n return hostProps;\n }\n};\n\nmodule.exports = ReactDOMOption;","/**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n */\n\n'use strict';\n\nvar _prodInvariant = require('./reactProdInvariant'),\n _assign = require('object-assign');\n\nvar LinkedValueUtils = require('./LinkedValueUtils');\nvar ReactDOMComponentTree = require('./ReactDOMComponentTree');\nvar ReactUpdates = require('./ReactUpdates');\n\nvar invariant = require('fbjs/lib/invariant');\nvar warning = require('fbjs/lib/warning');\n\nvar didWarnValueLink = false;\nvar didWarnValDefaultVal = false;\n\nfunction forceUpdateIfMounted() {\n if (this._rootNodeID) {\n // DOM component is still mounted; update\n ReactDOMTextarea.updateWrapper(this);\n }\n}\n\n/**\n * Implements a <textarea> host component that allows setting `value`, and\n * `defaultValue`. This differs from the traditional DOM API because value is\n * usually set as PCDATA children.\n *\n * If `value` is not supplied (or null/undefined), user actions that affect the\n * value will trigger updates to the element.\n *\n * If `value` is supplied (and not null/undefined), the rendered element will\n * not trigger updates to the element. Instead, the `value` prop must change in\n * order for the rendered element to be updated.\n *\n * The rendered element will be initialized with an empty value, the prop\n * `defaultValue` if specified, or the children content (deprecated).\n */\nvar ReactDOMTextarea = {\n getHostProps: function (inst, props) {\n !(props.dangerouslySetInnerHTML == null) ? process.env.NODE_ENV !== 'production' ? invariant(false, '`dangerouslySetInnerHTML` does not make sense on <textarea>.') : _prodInvariant('91') : void 0;\n\n // Always set children to the same thing. In IE9, the selection range will\n // get reset if `textContent` is mutated. We could add a check in setTextContent\n // to only set the value if/when the value differs from the node value (which would\n // completely solve this IE9 bug), but Sebastian+Ben seemed to like this solution.\n // The value can be a boolean or object so that's why it's forced to be a string.\n var hostProps = _assign({}, props, {\n value: undefined,\n defaultValue: undefined,\n children: '' + inst._wrapperState.initialValue,\n onChange: inst._wrapperState.onChange\n });\n\n return hostProps;\n },\n\n mountWrapper: function (inst, props) {\n if (process.env.NODE_ENV !== 'production') {\n LinkedValueUtils.checkPropTypes('textarea', props, inst._currentElement._owner);\n if (props.valueLink !== undefined && !didWarnValueLink) {\n process.env.NODE_ENV !== 'production' ? warning(false, '`valueLink` prop on `textarea` is deprecated; set `value` and `onChange` instead.') : void 0;\n didWarnValueLink = true;\n }\n if (props.value !== undefined && props.defaultValue !== undefined && !didWarnValDefaultVal) {\n process.env.NODE_ENV !== 'production' ? warning(false, 'Textarea elements must be either controlled or uncontrolled ' + '(specify either the value prop, or the defaultValue prop, but not ' + 'both). Decide between using a controlled or uncontrolled textarea ' + 'and remove one of these props. More info: ' + 'https://fb.me/react-controlled-components') : void 0;\n didWarnValDefaultVal = true;\n }\n }\n\n var value = LinkedValueUtils.getValue(props);\n var initialValue = value;\n\n // Only bother fetching default value if we're going to use it\n if (value == null) {\n var defaultValue = props.defaultValue;\n // TODO (yungsters): Remove support for children content in <textarea>.\n var children = props.children;\n if (children != null) {\n if (process.env.NODE_ENV !== 'production') {\n process.env.NODE_ENV !== 'production' ? warning(false, 'Use the `defaultValue` or `value` props instead of setting ' + 'children on <textarea>.') : void 0;\n }\n !(defaultValue == null) ? process.env.NODE_ENV !== 'production' ? invariant(false, 'If you supply `defaultValue` on a <textarea>, do not pass children.') : _prodInvariant('92') : void 0;\n if (Array.isArray(children)) {\n !(children.length <= 1) ? process.env.NODE_ENV !== 'production' ? invariant(false, '<textarea> can only have at most one child.') : _prodInvariant('93') : void 0;\n children = children[0];\n }\n\n defaultValue = '' + children;\n }\n if (defaultValue == null) {\n defaultValue = '';\n }\n initialValue = defaultValue;\n }\n\n inst._wrapperState = {\n initialValue: '' + initialValue,\n listeners: null,\n onChange: _handleChange.bind(inst)\n };\n },\n\n updateWrapper: function (inst) {\n var props = inst._currentElement.props;\n\n var node = ReactDOMComponentTree.getNodeFromInstance(inst);\n var value = LinkedValueUtils.getValue(props);\n if (value != null) {\n // Cast `value` to a string to ensure the value is set correctly. While\n // browsers typically do this as necessary, jsdom doesn't.\n var newValue = '' + value;\n\n // To avoid side effects (such as losing text selection), only set value if changed\n if (newValue !== node.value) {\n node.value = newValue;\n }\n if (props.defaultValue == null) {\n node.defaultValue = newValue;\n }\n }\n if (props.defaultValue != null) {\n node.defaultValue = props.defaultValue;\n }\n },\n\n postMountWrapper: function (inst) {\n // This is in postMount because we need access to the DOM node, which is not\n // available until after the component has mounted.\n var node = ReactDOMComponentTree.getNodeFromInstance(inst);\n var textContent = node.textContent;\n\n // Only set node.value if textContent is equal to the expected\n // initial value. In IE10/IE11 there is a bug where the placeholder attribute\n // will populate textContent as well.\n // https://developer.microsoft.com/microsoft-edge/platform/issues/101525/\n if (textContent === inst._wrapperState.initialValue) {\n node.value = textContent;\n }\n }\n};\n\nfunction _handleChange(event) {\n var props = this._currentElement.props;\n var returnValue = LinkedValueUtils.executeOnChange(props, event);\n ReactUpdates.asap(forceUpdateIfMounted, this);\n return returnValue;\n}\n\nmodule.exports = ReactDOMTextarea;","/**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n */\n\n'use strict';\n\nvar _prodInvariant = require('./reactProdInvariant');\n\nvar ReactComponentEnvironment = require('./ReactComponentEnvironment');\nvar ReactInstanceMap = require('./ReactInstanceMap');\nvar ReactInstrumentation = require('./ReactInstrumentation');\n\nvar ReactCurrentOwner = require('react/lib/ReactCurrentOwner');\nvar ReactReconciler = require('./ReactReconciler');\nvar ReactChildReconciler = require('./ReactChildReconciler');\n\nvar emptyFunction = require('fbjs/lib/emptyFunction');\nvar flattenChildren = require('./flattenChildren');\nvar invariant = require('fbjs/lib/invariant');\n\n/**\n * Make an update for markup to be rendered and inserted at a supplied index.\n *\n * @param {string} markup Markup that renders into an element.\n * @param {number} toIndex Destination index.\n * @private\n */\nfunction makeInsertMarkup(markup, afterNode, toIndex) {\n // NOTE: Null values reduce hidden classes.\n return {\n type: 'INSERT_MARKUP',\n content: markup,\n fromIndex: null,\n fromNode: null,\n toIndex: toIndex,\n afterNode: afterNode\n };\n}\n\n/**\n * Make an update for moving an existing element to another index.\n *\n * @param {number} fromIndex Source index of the existing element.\n * @param {number} toIndex Destination index of the element.\n * @private\n */\nfunction makeMove(child, afterNode, toIndex) {\n // NOTE: Null values reduce hidden classes.\n return {\n type: 'MOVE_EXISTING',\n content: null,\n fromIndex: child._mountIndex,\n fromNode: ReactReconciler.getHostNode(child),\n toIndex: toIndex,\n afterNode: afterNode\n };\n}\n\n/**\n * Make an update for removing an element at an index.\n *\n * @param {number} fromIndex Index of the element to remove.\n * @private\n */\nfunction makeRemove(child, node) {\n // NOTE: Null values reduce hidden classes.\n return {\n type: 'REMOVE_NODE',\n content: null,\n fromIndex: child._mountIndex,\n fromNode: node,\n toIndex: null,\n afterNode: null\n };\n}\n\n/**\n * Make an update for setting the markup of a node.\n *\n * @param {string} markup Markup that renders into an element.\n * @private\n */\nfunction makeSetMarkup(markup) {\n // NOTE: Null values reduce hidden classes.\n return {\n type: 'SET_MARKUP',\n content: markup,\n fromIndex: null,\n fromNode: null,\n toIndex: null,\n afterNode: null\n };\n}\n\n/**\n * Make an update for setting the text content.\n *\n * @param {string} textContent Text content to set.\n * @private\n */\nfunction makeTextContent(textContent) {\n // NOTE: Null values reduce hidden classes.\n return {\n type: 'TEXT_CONTENT',\n content: textContent,\n fromIndex: null,\n fromNode: null,\n toIndex: null,\n afterNode: null\n };\n}\n\n/**\n * Push an update, if any, onto the queue. Creates a new queue if none is\n * passed and always returns the queue. Mutative.\n */\nfunction enqueue(queue, update) {\n if (update) {\n queue = queue || [];\n queue.push(update);\n }\n return queue;\n}\n\n/**\n * Processes any enqueued updates.\n *\n * @private\n */\nfunction processQueue(inst, updateQueue) {\n ReactComponentEnvironment.processChildrenUpdates(inst, updateQueue);\n}\n\nvar setChildrenForInstrumentation = emptyFunction;\nif (process.env.NODE_ENV !== 'production') {\n var getDebugID = function (inst) {\n if (!inst._debugID) {\n // Check for ART-like instances. TODO: This is silly/gross.\n var internal;\n if (internal = ReactInstanceMap.get(inst)) {\n inst = internal;\n }\n }\n return inst._debugID;\n };\n setChildrenForInstrumentation = function (children) {\n var debugID = getDebugID(this);\n // TODO: React Native empty components are also multichild.\n // This means they still get into this method but don't have _debugID.\n if (debugID !== 0) {\n ReactInstrumentation.debugTool.onSetChildren(debugID, children ? Object.keys(children).map(function (key) {\n return children[key]._debugID;\n }) : []);\n }\n };\n}\n\n/**\n * ReactMultiChild are capable of reconciling multiple children.\n *\n * @class ReactMultiChild\n * @internal\n */\nvar ReactMultiChild = {\n /**\n * Provides common functionality for components that must reconcile multiple\n * children. This is used by `ReactDOMComponent` to mount, update, and\n * unmount child components.\n *\n * @lends {ReactMultiChild.prototype}\n */\n Mixin: {\n _reconcilerInstantiateChildren: function (nestedChildren, transaction, context) {\n if (process.env.NODE_ENV !== 'production') {\n var selfDebugID = getDebugID(this);\n if (this._currentElement) {\n try {\n ReactCurrentOwner.current = this._currentElement._owner;\n return ReactChildReconciler.instantiateChildren(nestedChildren, transaction, context, selfDebugID);\n } finally {\n ReactCurrentOwner.current = null;\n }\n }\n }\n return ReactChildReconciler.instantiateChildren(nestedChildren, transaction, context);\n },\n\n _reconcilerUpdateChildren: function (prevChildren, nextNestedChildrenElements, mountImages, removedNodes, transaction, context) {\n var nextChildren;\n var selfDebugID = 0;\n if (process.env.NODE_ENV !== 'production') {\n selfDebugID = getDebugID(this);\n if (this._currentElement) {\n try {\n ReactCurrentOwner.current = this._currentElement._owner;\n nextChildren = flattenChildren(nextNestedChildrenElements, selfDebugID);\n } finally {\n ReactCurrentOwner.current = null;\n }\n ReactChildReconciler.updateChildren(prevChildren, nextChildren, mountImages, removedNodes, transaction, this, this._hostContainerInfo, context, selfDebugID);\n return nextChildren;\n }\n }\n nextChildren = flattenChildren(nextNestedChildrenElements, selfDebugID);\n ReactChildReconciler.updateChildren(prevChildren, nextChildren, mountImages, removedNodes, transaction, this, this._hostContainerInfo, context, selfDebugID);\n return nextChildren;\n },\n\n /**\n * Generates a \"mount image\" for each of the supplied children. In the case\n * of `ReactDOMComponent`, a mount image is a string of markup.\n *\n * @param {?object} nestedChildren Nested child maps.\n * @return {array} An array of mounted representations.\n * @internal\n */\n mountChildren: function (nestedChildren, transaction, context) {\n var children = this._reconcilerInstantiateChildren(nestedChildren, transaction, context);\n this._renderedChildren = children;\n\n var mountImages = [];\n var index = 0;\n for (var name in children) {\n if (children.hasOwnProperty(name)) {\n var child = children[name];\n var selfDebugID = 0;\n if (process.env.NODE_ENV !== 'production') {\n selfDebugID = getDebugID(this);\n }\n var mountImage = ReactReconciler.mountComponent(child, transaction, this, this._hostContainerInfo, context, selfDebugID);\n child._mountIndex = index++;\n mountImages.push(mountImage);\n }\n }\n\n if (process.env.NODE_ENV !== 'production') {\n setChildrenForInstrumentation.call(this, children);\n }\n\n return mountImages;\n },\n\n /**\n * Replaces any rendered children with a text content string.\n *\n * @param {string} nextContent String of content.\n * @internal\n */\n updateTextContent: function (nextContent) {\n var prevChildren = this._renderedChildren;\n // Remove any rendered children.\n ReactChildReconciler.unmountChildren(prevChildren, false);\n for (var name in prevChildren) {\n if (prevChildren.hasOwnProperty(name)) {\n !false ? process.env.NODE_ENV !== 'production' ? invariant(false, 'updateTextContent called on non-empty component.') : _prodInvariant('118') : void 0;\n }\n }\n // Set new text content.\n var updates = [makeTextContent(nextContent)];\n processQueue(this, updates);\n },\n\n /**\n * Replaces any rendered children with a markup string.\n *\n * @param {string} nextMarkup String of markup.\n * @internal\n */\n updateMarkup: function (nextMarkup) {\n var prevChildren = this._renderedChildren;\n // Remove any rendered children.\n ReactChildReconciler.unmountChildren(prevChildren, false);\n for (var name in prevChildren) {\n if (prevChildren.hasOwnProperty(name)) {\n !false ? process.env.NODE_ENV !== 'production' ? invariant(false, 'updateTextContent called on non-empty component.') : _prodInvariant('118') : void 0;\n }\n }\n var updates = [makeSetMarkup(nextMarkup)];\n processQueue(this, updates);\n },\n\n /**\n * Updates the rendered children with new children.\n *\n * @param {?object} nextNestedChildrenElements Nested child element maps.\n * @param {ReactReconcileTransaction} transaction\n * @internal\n */\n updateChildren: function (nextNestedChildrenElements, transaction, context) {\n // Hook used by React ART\n this._updateChildren(nextNestedChildrenElements, transaction, context);\n },\n\n /**\n * @param {?object} nextNestedChildrenElements Nested child element maps.\n * @param {ReactReconcileTransaction} transaction\n * @final\n * @protected\n */\n _updateChildren: function (nextNestedChildrenElements, transaction, context) {\n var prevChildren = this._renderedChildren;\n var removedNodes = {};\n var mountImages = [];\n var nextChildren = this._reconcilerUpdateChildren(prevChildren, nextNestedChildrenElements, mountImages, removedNodes, transaction, context);\n if (!nextChildren && !prevChildren) {\n return;\n }\n var updates = null;\n var name;\n // `nextIndex` will increment for each child in `nextChildren`, but\n // `lastIndex` will be the last index visited in `prevChildren`.\n var nextIndex = 0;\n var lastIndex = 0;\n // `nextMountIndex` will increment for each newly mounted child.\n var nextMountIndex = 0;\n var lastPlacedNode = null;\n for (name in nextChildren) {\n if (!nextChildren.hasOwnProperty(name)) {\n continue;\n }\n var prevChild = prevChildren && prevChildren[name];\n var nextChild = nextChildren[name];\n if (prevChild === nextChild) {\n updates = enqueue(updates, this.moveChild(prevChild, lastPlacedNode, nextIndex, lastIndex));\n lastIndex = Math.max(prevChild._mountIndex, lastIndex);\n prevChild._mountIndex = nextIndex;\n } else {\n if (prevChild) {\n // Update `lastIndex` before `_mountIndex` gets unset by unmounting.\n lastIndex = Math.max(prevChild._mountIndex, lastIndex);\n // The `removedNodes` loop below will actually remove the child.\n }\n // The child must be instantiated before it's mounted.\n updates = enqueue(updates, this._mountChildAtIndex(nextChild, mountImages[nextMountIndex], lastPlacedNode, nextIndex, transaction, context));\n nextMountIndex++;\n }\n nextIndex++;\n lastPlacedNode = ReactReconciler.getHostNode(nextChild);\n }\n // Remove children that are no longer present.\n for (name in removedNodes) {\n if (removedNodes.hasOwnProperty(name)) {\n updates = enqueue(updates, this._unmountChild(prevChildren[name], removedNodes[name]));\n }\n }\n if (updates) {\n processQueue(this, updates);\n }\n this._renderedChildren = nextChildren;\n\n if (process.env.NODE_ENV !== 'production') {\n setChildrenForInstrumentation.call(this, nextChildren);\n }\n },\n\n /**\n * Unmounts all rendered children. This should be used to clean up children\n * when this component is unmounted. It does not actually perform any\n * backend operations.\n *\n * @internal\n */\n unmountChildren: function (safely) {\n var renderedChildren = this._renderedChildren;\n ReactChildReconciler.unmountChildren(renderedChildren, safely);\n this._renderedChildren = null;\n },\n\n /**\n * Moves a child component to the supplied index.\n *\n * @param {ReactComponent} child Component to move.\n * @param {number} toIndex Destination index of the element.\n * @param {number} lastIndex Last index visited of the siblings of `child`.\n * @protected\n */\n moveChild: function (child, afterNode, toIndex, lastIndex) {\n // If the index of `child` is less than `lastIndex`, then it needs to\n // be moved. Otherwise, we do not need to move it because a child will be\n // inserted or moved before `child`.\n if (child._mountIndex < lastIndex) {\n return makeMove(child, afterNode, toIndex);\n }\n },\n\n /**\n * Creates a child component.\n *\n * @param {ReactComponent} child Component to create.\n * @param {string} mountImage Markup to insert.\n * @protected\n */\n createChild: function (child, afterNode, mountImage) {\n return makeInsertMarkup(mountImage, afterNode, child._mountIndex);\n },\n\n /**\n * Removes a child component.\n *\n * @param {ReactComponent} child Child to remove.\n * @protected\n */\n removeChild: function (child, node) {\n return makeRemove(child, node);\n },\n\n /**\n * Mounts a child with the supplied name.\n *\n * NOTE: This is part of `updateChildren` and is here for readability.\n *\n * @param {ReactComponent} child Component to mount.\n * @param {string} name Name of the child.\n * @param {number} index Index at which to insert the child.\n * @param {ReactReconcileTransaction} transaction\n * @private\n */\n _mountChildAtIndex: function (child, mountImage, afterNode, index, transaction, context) {\n child._mountIndex = index;\n return this.createChild(child, afterNode, mountImage);\n },\n\n /**\n * Unmounts a rendered child.\n *\n * NOTE: This is part of `updateChildren` and is here for readability.\n *\n * @param {ReactComponent} child Component to unmount.\n * @private\n */\n _unmountChild: function (child, node) {\n var update = this.removeChild(child, node);\n child._mountIndex = null;\n return update;\n }\n }\n};\n\nmodule.exports = ReactMultiChild;","/**\n * Copyright (c) 2014-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n */\n\n'use strict';\n\nvar ReactReconciler = require('./ReactReconciler');\n\nvar instantiateReactComponent = require('./instantiateReactComponent');\nvar KeyEscapeUtils = require('./KeyEscapeUtils');\nvar shouldUpdateReactComponent = require('./shouldUpdateReactComponent');\nvar traverseAllChildren = require('./traverseAllChildren');\nvar warning = require('fbjs/lib/warning');\n\nvar ReactComponentTreeHook;\n\nif (typeof process !== 'undefined' && process.env && process.env.NODE_ENV === 'test') {\n // Temporary hack.\n // Inline requires don't work well with Jest:\n // https://github.com/facebook/react/issues/7240\n // Remove the inline requires when we don't need them anymore:\n // https://github.com/facebook/react/pull/7178\n ReactComponentTreeHook = require('react/lib/ReactComponentTreeHook');\n}\n\nfunction instantiateChild(childInstances, child, name, selfDebugID) {\n // We found a component instance.\n var keyUnique = childInstances[name] === undefined;\n if (process.env.NODE_ENV !== 'production') {\n if (!ReactComponentTreeHook) {\n ReactComponentTreeHook = require('react/lib/ReactComponentTreeHook');\n }\n if (!keyUnique) {\n process.env.NODE_ENV !== 'production' ? warning(false, 'flattenChildren(...): Encountered two children with the same key, ' + '`%s`. Child keys must be unique; when two children share a key, only ' + 'the first child will be used.%s', KeyEscapeUtils.unescape(name), ReactComponentTreeHook.getStackAddendumByID(selfDebugID)) : void 0;\n }\n }\n if (child != null && keyUnique) {\n childInstances[name] = instantiateReactComponent(child, true);\n }\n}\n\n/**\n * ReactChildReconciler provides helpers for initializing or updating a set of\n * children. Its output is suitable for passing it onto ReactMultiChild which\n * does diffed reordering and insertion.\n */\nvar ReactChildReconciler = {\n /**\n * Generates a \"mount image\" for each of the supplied children. In the case\n * of `ReactDOMComponent`, a mount image is a string of markup.\n *\n * @param {?object} nestedChildNodes Nested child maps.\n * @return {?object} A set of child instances.\n * @internal\n */\n instantiateChildren: function (nestedChildNodes, transaction, context, selfDebugID) // 0 in production and for roots\n {\n if (nestedChildNodes == null) {\n return null;\n }\n var childInstances = {};\n\n if (process.env.NODE_ENV !== 'production') {\n traverseAllChildren(nestedChildNodes, function (childInsts, child, name) {\n return instantiateChild(childInsts, child, name, selfDebugID);\n }, childInstances);\n } else {\n traverseAllChildren(nestedChildNodes, instantiateChild, childInstances);\n }\n return childInstances;\n },\n\n /**\n * Updates the rendered children and returns a new set of children.\n *\n * @param {?object} prevChildren Previously initialized set of children.\n * @param {?object} nextChildren Flat child element maps.\n * @param {ReactReconcileTransaction} transaction\n * @param {object} context\n * @return {?object} A new set of child instances.\n * @internal\n */\n updateChildren: function (prevChildren, nextChildren, mountImages, removedNodes, transaction, hostParent, hostContainerInfo, context, selfDebugID) // 0 in production and for roots\n {\n // We currently don't have a way to track moves here but if we use iterators\n // instead of for..in we can zip the iterators and check if an item has\n // moved.\n // TODO: If nothing has changed, return the prevChildren object so that we\n // can quickly bailout if nothing has changed.\n if (!nextChildren && !prevChildren) {\n return;\n }\n var name;\n var prevChild;\n for (name in nextChildren) {\n if (!nextChildren.hasOwnProperty(name)) {\n continue;\n }\n prevChild = prevChildren && prevChildren[name];\n var prevElement = prevChild && prevChild._currentElement;\n var nextElement = nextChildren[name];\n if (prevChild != null && shouldUpdateReactComponent(prevElement, nextElement)) {\n ReactReconciler.receiveComponent(prevChild, nextElement, transaction, context);\n nextChildren[name] = prevChild;\n } else {\n if (prevChild) {\n removedNodes[name] = ReactReconciler.getHostNode(prevChild);\n ReactReconciler.unmountComponent(prevChild, false);\n }\n // The child must be instantiated before it's mounted.\n var nextChildInstance = instantiateReactComponent(nextElement, true);\n nextChildren[name] = nextChildInstance;\n // Creating mount image now ensures refs are resolved in right order\n // (see https://github.com/facebook/react/pull/7101 for explanation).\n var nextChildMountImage = ReactReconciler.mountComponent(nextChildInstance, transaction, hostParent, hostContainerInfo, context, selfDebugID);\n mountImages.push(nextChildMountImage);\n }\n }\n // Unmount children that are no longer present.\n for (name in prevChildren) {\n if (prevChildren.hasOwnProperty(name) && !(nextChildren && nextChildren.hasOwnProperty(name))) {\n prevChild = prevChildren[name];\n removedNodes[name] = ReactReconciler.getHostNode(prevChild);\n ReactReconciler.unmountComponent(prevChild, false);\n }\n }\n },\n\n /**\n * Unmounts all rendered children. This should be used to clean up children\n * when this component is unmounted.\n *\n * @param {?object} renderedChildren Previously initialized set of children.\n * @internal\n */\n unmountChildren: function (renderedChildren, safely) {\n for (var name in renderedChildren) {\n if (renderedChildren.hasOwnProperty(name)) {\n var renderedChild = renderedChildren[name];\n ReactReconciler.unmountComponent(renderedChild, safely);\n }\n }\n }\n};\n\nmodule.exports = ReactChildReconciler;","/**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n */\n\n'use strict';\n\nvar _prodInvariant = require('./reactProdInvariant'),\n _assign = require('object-assign');\n\nvar React = require('react/lib/React');\nvar ReactComponentEnvironment = require('./ReactComponentEnvironment');\nvar ReactCurrentOwner = require('react/lib/ReactCurrentOwner');\nvar ReactErrorUtils = require('./ReactErrorUtils');\nvar ReactInstanceMap = require('./ReactInstanceMap');\nvar ReactInstrumentation = require('./ReactInstrumentation');\nvar ReactNodeTypes = require('./ReactNodeTypes');\nvar ReactReconciler = require('./ReactReconciler');\n\nif (process.env.NODE_ENV !== 'production') {\n var checkReactTypeSpec = require('./checkReactTypeSpec');\n}\n\nvar emptyObject = require('fbjs/lib/emptyObject');\nvar invariant = require('fbjs/lib/invariant');\nvar shallowEqual = require('fbjs/lib/shallowEqual');\nvar shouldUpdateReactComponent = require('./shouldUpdateReactComponent');\nvar warning = require('fbjs/lib/warning');\n\nvar CompositeTypes = {\n ImpureClass: 0,\n PureClass: 1,\n StatelessFunctional: 2\n};\n\nfunction StatelessComponent(Component) {}\nStatelessComponent.prototype.render = function () {\n var Component = ReactInstanceMap.get(this)._currentElement.type;\n var element = Component(this.props, this.context, this.updater);\n warnIfInvalidElement(Component, element);\n return element;\n};\n\nfunction warnIfInvalidElement(Component, element) {\n if (process.env.NODE_ENV !== 'production') {\n process.env.NODE_ENV !== 'production' ? warning(element === null || element === false || React.isValidElement(element), '%s(...): A valid React element (or null) must be returned. You may have ' + 'returned undefined, an array or some other invalid object.', Component.displayName || Component.name || 'Component') : void 0;\n process.env.NODE_ENV !== 'production' ? warning(!Component.childContextTypes, '%s(...): childContextTypes cannot be defined on a functional component.', Component.displayName || Component.name || 'Component') : void 0;\n }\n}\n\nfunction shouldConstruct(Component) {\n return !!(Component.prototype && Component.prototype.isReactComponent);\n}\n\nfunction isPureComponent(Component) {\n return !!(Component.prototype && Component.prototype.isPureReactComponent);\n}\n\n// Separated into a function to contain deoptimizations caused by try/finally.\nfunction measureLifeCyclePerf(fn, debugID, timerType) {\n if (debugID === 0) {\n // Top-level wrappers (see ReactMount) and empty components (see\n // ReactDOMEmptyComponent) are invisible to hooks and devtools.\n // Both are implementation details that should go away in the future.\n return fn();\n }\n\n ReactInstrumentation.debugTool.onBeginLifeCycleTimer(debugID, timerType);\n try {\n return fn();\n } finally {\n ReactInstrumentation.debugTool.onEndLifeCycleTimer(debugID, timerType);\n }\n}\n\n/**\n * ------------------ The Life-Cycle of a Composite Component ------------------\n *\n * - constructor: Initialization of state. The instance is now retained.\n * - componentWillMount\n * - render\n * - [children's constructors]\n * - [children's componentWillMount and render]\n * - [children's componentDidMount]\n * - componentDidMount\n *\n * Update Phases:\n * - componentWillReceiveProps (only called if parent updated)\n * - shouldComponentUpdate\n * - componentWillUpdate\n * - render\n * - [children's constructors or receive props phases]\n * - componentDidUpdate\n *\n * - componentWillUnmount\n * - [children's componentWillUnmount]\n * - [children destroyed]\n * - (destroyed): The instance is now blank, released by React and ready for GC.\n *\n * -----------------------------------------------------------------------------\n */\n\n/**\n * An incrementing ID assigned to each component when it is mounted. This is\n * used to enforce the order in which `ReactUpdates` updates dirty components.\n *\n * @private\n */\nvar nextMountID = 1;\n\n/**\n * @lends {ReactCompositeComponent.prototype}\n */\nvar ReactCompositeComponent = {\n /**\n * Base constructor for all composite component.\n *\n * @param {ReactElement} element\n * @final\n * @internal\n */\n construct: function (element) {\n this._currentElement = element;\n this._rootNodeID = 0;\n this._compositeType = null;\n this._instance = null;\n this._hostParent = null;\n this._hostContainerInfo = null;\n\n // See ReactUpdateQueue\n this._updateBatchNumber = null;\n this._pendingElement = null;\n this._pendingStateQueue = null;\n this._pendingReplaceState = false;\n this._pendingForceUpdate = false;\n\n this._renderedNodeType = null;\n this._renderedComponent = null;\n this._context = null;\n this._mountOrder = 0;\n this._topLevelWrapper = null;\n\n // See ReactUpdates and ReactUpdateQueue.\n this._pendingCallbacks = null;\n\n // ComponentWillUnmount shall only be called once\n this._calledComponentWillUnmount = false;\n\n if (process.env.NODE_ENV !== 'production') {\n this._warnedAboutRefsInRender = false;\n }\n },\n\n /**\n * Initializes the component, renders markup, and registers event listeners.\n *\n * @param {ReactReconcileTransaction|ReactServerRenderingTransaction} transaction\n * @param {?object} hostParent\n * @param {?object} hostContainerInfo\n * @param {?object} context\n * @return {?string} Rendered markup to be inserted into the DOM.\n * @final\n * @internal\n */\n mountComponent: function (transaction, hostParent, hostContainerInfo, context) {\n var _this = this;\n\n this._context = context;\n this._mountOrder = nextMountID++;\n this._hostParent = hostParent;\n this._hostContainerInfo = hostContainerInfo;\n\n var publicProps = this._currentElement.props;\n var publicContext = this._processContext(context);\n\n var Component = this._currentElement.type;\n\n var updateQueue = transaction.getUpdateQueue();\n\n // Initialize the public class\n var doConstruct = shouldConstruct(Component);\n var inst = this._constructComponent(doConstruct, publicProps, publicContext, updateQueue);\n var renderedElement;\n\n // Support functional components\n if (!doConstruct && (inst == null || inst.render == null)) {\n renderedElement = inst;\n warnIfInvalidElement(Component, renderedElement);\n !(inst === null || inst === false || React.isValidElement(inst)) ? process.env.NODE_ENV !== 'production' ? invariant(false, '%s(...): A valid React element (or null) must be returned. You may have returned undefined, an array or some other invalid object.', Component.displayName || Component.name || 'Component') : _prodInvariant('105', Component.displayName || Component.name || 'Component') : void 0;\n inst = new StatelessComponent(Component);\n this._compositeType = CompositeTypes.StatelessFunctional;\n } else {\n if (isPureComponent(Component)) {\n this._compositeType = CompositeTypes.PureClass;\n } else {\n this._compositeType = CompositeTypes.ImpureClass;\n }\n }\n\n if (process.env.NODE_ENV !== 'production') {\n // This will throw later in _renderValidatedComponent, but add an early\n // warning now to help debugging\n if (inst.render == null) {\n process.env.NODE_ENV !== 'production' ? warning(false, '%s(...): No `render` method found on the returned component ' + 'instance: you may have forgotten to define `render`.', Component.displayName || Component.name || 'Component') : void 0;\n }\n\n var propsMutated = inst.props !== publicProps;\n var componentName = Component.displayName || Component.name || 'Component';\n\n process.env.NODE_ENV !== 'production' ? warning(inst.props === undefined || !propsMutated, '%s(...): When calling super() in `%s`, make sure to pass ' + \"up the same props that your component's constructor was passed.\", componentName, componentName) : void 0;\n }\n\n // These should be set up in the constructor, but as a convenience for\n // simpler class abstractions, we set them up after the fact.\n inst.props = publicProps;\n inst.context = publicContext;\n inst.refs = emptyObject;\n inst.updater = updateQueue;\n\n this._instance = inst;\n\n // Store a reference from the instance back to the internal representation\n ReactInstanceMap.set(inst, this);\n\n if (process.env.NODE_ENV !== 'production') {\n // Since plain JS classes are defined without any special initialization\n // logic, we can not catch common errors early. Therefore, we have to\n // catch them here, at initialization time, instead.\n process.env.NODE_ENV !== 'production' ? warning(!inst.getInitialState || inst.getInitialState.isReactClassApproved || inst.state, 'getInitialState was defined on %s, a plain JavaScript class. ' + 'This is only supported for classes created using React.createClass. ' + 'Did you mean to define a state property instead?', this.getName() || 'a component') : void 0;\n process.env.NODE_ENV !== 'production' ? warning(!inst.getDefaultProps || inst.getDefaultProps.isReactClassApproved, 'getDefaultProps was defined on %s, a plain JavaScript class. ' + 'This is only supported for classes created using React.createClass. ' + 'Use a static property to define defaultProps instead.', this.getName() || 'a component') : void 0;\n process.env.NODE_ENV !== 'production' ? warning(!inst.propTypes, 'propTypes was defined as an instance property on %s. Use a static ' + 'property to define propTypes instead.', this.getName() || 'a component') : void 0;\n process.env.NODE_ENV !== 'production' ? warning(!inst.contextTypes, 'contextTypes was defined as an instance property on %s. Use a ' + 'static property to define contextTypes instead.', this.getName() || 'a component') : void 0;\n process.env.NODE_ENV !== 'production' ? warning(typeof inst.componentShouldUpdate !== 'function', '%s has a method called ' + 'componentShouldUpdate(). Did you mean shouldComponentUpdate()? ' + 'The name is phrased as a question because the function is ' + 'expected to return a value.', this.getName() || 'A component') : void 0;\n process.env.NODE_ENV !== 'production' ? warning(typeof inst.componentDidUnmount !== 'function', '%s has a method called ' + 'componentDidUnmount(). But there is no such lifecycle method. ' + 'Did you mean componentWillUnmount()?', this.getName() || 'A component') : void 0;\n process.env.NODE_ENV !== 'production' ? warning(typeof inst.componentWillRecieveProps !== 'function', '%s has a method called ' + 'componentWillRecieveProps(). Did you mean componentWillReceiveProps()?', this.getName() || 'A component') : void 0;\n }\n\n var initialState = inst.state;\n if (initialState === undefined) {\n inst.state = initialState = null;\n }\n !(typeof initialState === 'object' && !Array.isArray(initialState)) ? process.env.NODE_ENV !== 'production' ? invariant(false, '%s.state: must be set to an object or null', this.getName() || 'ReactCompositeComponent') : _prodInvariant('106', this.getName() || 'ReactCompositeComponent') : void 0;\n\n this._pendingStateQueue = null;\n this._pendingReplaceState = false;\n this._pendingForceUpdate = false;\n\n var markup;\n if (inst.unstable_handleError) {\n markup = this.performInitialMountWithErrorHandling(renderedElement, hostParent, hostContainerInfo, transaction, context);\n } else {\n markup = this.performInitialMount(renderedElement, hostParent, hostContainerInfo, transaction, context);\n }\n\n if (inst.componentDidMount) {\n if (process.env.NODE_ENV !== 'production') {\n transaction.getReactMountReady().enqueue(function () {\n measureLifeCyclePerf(function () {\n return inst.componentDidMount();\n }, _this._debugID, 'componentDidMount');\n });\n } else {\n transaction.getReactMountReady().enqueue(inst.componentDidMount, inst);\n }\n }\n\n return markup;\n },\n\n _constructComponent: function (doConstruct, publicProps, publicContext, updateQueue) {\n if (process.env.NODE_ENV !== 'production' && !doConstruct) {\n ReactCurrentOwner.current = this;\n try {\n return this._constructComponentWithoutOwner(doConstruct, publicProps, publicContext, updateQueue);\n } finally {\n ReactCurrentOwner.current = null;\n }\n } else {\n return this._constructComponentWithoutOwner(doConstruct, publicProps, publicContext, updateQueue);\n }\n },\n\n _constructComponentWithoutOwner: function (doConstruct, publicProps, publicContext, updateQueue) {\n var Component = this._currentElement.type;\n\n if (doConstruct) {\n if (process.env.NODE_ENV !== 'production') {\n return measureLifeCyclePerf(function () {\n return new Component(publicProps, publicContext, updateQueue);\n }, this._debugID, 'ctor');\n } else {\n return new Component(publicProps, publicContext, updateQueue);\n }\n }\n\n // This can still be an instance in case of factory components\n // but we'll count this as time spent rendering as the more common case.\n if (process.env.NODE_ENV !== 'production') {\n return measureLifeCyclePerf(function () {\n return Component(publicProps, publicContext, updateQueue);\n }, this._debugID, 'render');\n } else {\n return Component(publicProps, publicContext, updateQueue);\n }\n },\n\n performInitialMountWithErrorHandling: function (renderedElement, hostParent, hostContainerInfo, transaction, context) {\n var markup;\n var checkpoint = transaction.checkpoint();\n try {\n markup = this.performInitialMount(renderedElement, hostParent, hostContainerInfo, transaction, context);\n } catch (e) {\n // Roll back to checkpoint, handle error (which may add items to the transaction), and take a new checkpoint\n transaction.rollback(checkpoint);\n this._instance.unstable_handleError(e);\n if (this._pendingStateQueue) {\n this._instance.state = this._processPendingState(this._instance.props, this._instance.context);\n }\n checkpoint = transaction.checkpoint();\n\n this._renderedComponent.unmountComponent(true);\n transaction.rollback(checkpoint);\n\n // Try again - we've informed the component about the error, so they can render an error message this time.\n // If this throws again, the error will bubble up (and can be caught by a higher error boundary).\n markup = this.performInitialMount(renderedElement, hostParent, hostContainerInfo, transaction, context);\n }\n return markup;\n },\n\n performInitialMount: function (renderedElement, hostParent, hostContainerInfo, transaction, context) {\n var inst = this._instance;\n\n var debugID = 0;\n if (process.env.NODE_ENV !== 'production') {\n debugID = this._debugID;\n }\n\n if (inst.componentWillMount) {\n if (process.env.NODE_ENV !== 'production') {\n measureLifeCyclePerf(function () {\n return inst.componentWillMount();\n }, debugID, 'componentWillMount');\n } else {\n inst.componentWillMount();\n }\n // When mounting, calls to `setState` by `componentWillMount` will set\n // `this._pendingStateQueue` without triggering a re-render.\n if (this._pendingStateQueue) {\n inst.state = this._processPendingState(inst.props, inst.context);\n }\n }\n\n // If not a stateless component, we now render\n if (renderedElement === undefined) {\n renderedElement = this._renderValidatedComponent();\n }\n\n var nodeType = ReactNodeTypes.getType(renderedElement);\n this._renderedNodeType = nodeType;\n var child = this._instantiateReactComponent(renderedElement, nodeType !== ReactNodeTypes.EMPTY /* shouldHaveDebugID */\n );\n this._renderedComponent = child;\n\n var markup = ReactReconciler.mountComponent(child, transaction, hostParent, hostContainerInfo, this._processChildContext(context), debugID);\n\n if (process.env.NODE_ENV !== 'production') {\n if (debugID !== 0) {\n var childDebugIDs = child._debugID !== 0 ? [child._debugID] : [];\n ReactInstrumentation.debugTool.onSetChildren(debugID, childDebugIDs);\n }\n }\n\n return markup;\n },\n\n getHostNode: function () {\n return ReactReconciler.getHostNode(this._renderedComponent);\n },\n\n /**\n * Releases any resources allocated by `mountComponent`.\n *\n * @final\n * @internal\n */\n unmountComponent: function (safely) {\n if (!this._renderedComponent) {\n return;\n }\n\n var inst = this._instance;\n\n if (inst.componentWillUnmount && !inst._calledComponentWillUnmount) {\n inst._calledComponentWillUnmount = true;\n\n if (safely) {\n var name = this.getName() + '.componentWillUnmount()';\n ReactErrorUtils.invokeGuardedCallback(name, inst.componentWillUnmount.bind(inst));\n } else {\n if (process.env.NODE_ENV !== 'production') {\n measureLifeCyclePerf(function () {\n return inst.componentWillUnmount();\n }, this._debugID, 'componentWillUnmount');\n } else {\n inst.componentWillUnmount();\n }\n }\n }\n\n if (this._renderedComponent) {\n ReactReconciler.unmountComponent(this._renderedComponent, safely);\n this._renderedNodeType = null;\n this._renderedComponent = null;\n this._instance = null;\n }\n\n // Reset pending fields\n // Even if this component is scheduled for another update in ReactUpdates,\n // it would still be ignored because these fields are reset.\n this._pendingStateQueue = null;\n this._pendingReplaceState = false;\n this._pendingForceUpdate = false;\n this._pendingCallbacks = null;\n this._pendingElement = null;\n\n // These fields do not really need to be reset since this object is no\n // longer accessible.\n this._context = null;\n this._rootNodeID = 0;\n this._topLevelWrapper = null;\n\n // Delete the reference from the instance to this internal representation\n // which allow the internals to be properly cleaned up even if the user\n // leaks a reference to the public instance.\n ReactInstanceMap.remove(inst);\n\n // Some existing components rely on inst.props even after they've been\n // destroyed (in event handlers).\n // TODO: inst.props = null;\n // TODO: inst.state = null;\n // TODO: inst.context = null;\n },\n\n /**\n * Filters the context object to only contain keys specified in\n * `contextTypes`\n *\n * @param {object} context\n * @return {?object}\n * @private\n */\n _maskContext: function (context) {\n var Component = this._currentElement.type;\n var contextTypes = Component.contextTypes;\n if (!contextTypes) {\n return emptyObject;\n }\n var maskedContext = {};\n for (var contextName in contextTypes) {\n maskedContext[contextName] = context[contextName];\n }\n return maskedContext;\n },\n\n /**\n * Filters the context object to only contain keys specified in\n * `contextTypes`, and asserts that they are valid.\n *\n * @param {object} context\n * @return {?object}\n * @private\n */\n _processContext: function (context) {\n var maskedContext = this._maskContext(context);\n if (process.env.NODE_ENV !== 'production') {\n var Component = this._currentElement.type;\n if (Component.contextTypes) {\n this._checkContextTypes(Component.contextTypes, maskedContext, 'context');\n }\n }\n return maskedContext;\n },\n\n /**\n * @param {object} currentContext\n * @return {object}\n * @private\n */\n _processChildContext: function (currentContext) {\n var Component = this._currentElement.type;\n var inst = this._instance;\n var childContext;\n\n if (inst.getChildContext) {\n if (process.env.NODE_ENV !== 'production') {\n ReactInstrumentation.debugTool.onBeginProcessingChildContext();\n try {\n childContext = inst.getChildContext();\n } finally {\n ReactInstrumentation.debugTool.onEndProcessingChildContext();\n }\n } else {\n childContext = inst.getChildContext();\n }\n }\n\n if (childContext) {\n !(typeof Component.childContextTypes === 'object') ? process.env.NODE_ENV !== 'production' ? invariant(false, '%s.getChildContext(): childContextTypes must be defined in order to use getChildContext().', this.getName() || 'ReactCompositeComponent') : _prodInvariant('107', this.getName() || 'ReactCompositeComponent') : void 0;\n if (process.env.NODE_ENV !== 'production') {\n this._checkContextTypes(Component.childContextTypes, childContext, 'child context');\n }\n for (var name in childContext) {\n !(name in Component.childContextTypes) ? process.env.NODE_ENV !== 'production' ? invariant(false, '%s.getChildContext(): key \"%s\" is not defined in childContextTypes.', this.getName() || 'ReactCompositeComponent', name) : _prodInvariant('108', this.getName() || 'ReactCompositeComponent', name) : void 0;\n }\n return _assign({}, currentContext, childContext);\n }\n return currentContext;\n },\n\n /**\n * Assert that the context types are valid\n *\n * @param {object} typeSpecs Map of context field to a ReactPropType\n * @param {object} values Runtime values that need to be type-checked\n * @param {string} location e.g. \"prop\", \"context\", \"child context\"\n * @private\n */\n _checkContextTypes: function (typeSpecs, values, location) {\n if (process.env.NODE_ENV !== 'production') {\n checkReactTypeSpec(typeSpecs, values, location, this.getName(), null, this._debugID);\n }\n },\n\n receiveComponent: function (nextElement, transaction, nextContext) {\n var prevElement = this._currentElement;\n var prevContext = this._context;\n\n this._pendingElement = null;\n\n this.updateComponent(transaction, prevElement, nextElement, prevContext, nextContext);\n },\n\n /**\n * If any of `_pendingElement`, `_pendingStateQueue`, or `_pendingForceUpdate`\n * is set, update the component.\n *\n * @param {ReactReconcileTransaction} transaction\n * @internal\n */\n performUpdateIfNecessary: function (transaction) {\n if (this._pendingElement != null) {\n ReactReconciler.receiveComponent(this, this._pendingElement, transaction, this._context);\n } else if (this._pendingStateQueue !== null || this._pendingForceUpdate) {\n this.updateComponent(transaction, this._currentElement, this._currentElement, this._context, this._context);\n } else {\n this._updateBatchNumber = null;\n }\n },\n\n /**\n * Perform an update to a mounted component. The componentWillReceiveProps and\n * shouldComponentUpdate methods are called, then (assuming the update isn't\n * skipped) the remaining update lifecycle methods are called and the DOM\n * representation is updated.\n *\n * By default, this implements React's rendering and reconciliation algorithm.\n * Sophisticated clients may wish to override this.\n *\n * @param {ReactReconcileTransaction} transaction\n * @param {ReactElement} prevParentElement\n * @param {ReactElement} nextParentElement\n * @internal\n * @overridable\n */\n updateComponent: function (transaction, prevParentElement, nextParentElement, prevUnmaskedContext, nextUnmaskedContext) {\n var inst = this._instance;\n !(inst != null) ? process.env.NODE_ENV !== 'production' ? invariant(false, 'Attempted to update component `%s` that has already been unmounted (or failed to mount).', this.getName() || 'ReactCompositeComponent') : _prodInvariant('136', this.getName() || 'ReactCompositeComponent') : void 0;\n\n var willReceive = false;\n var nextContext;\n\n // Determine if the context has changed or not\n if (this._context === nextUnmaskedContext) {\n nextContext = inst.context;\n } else {\n nextContext = this._processContext(nextUnmaskedContext);\n willReceive = true;\n }\n\n var prevProps = prevParentElement.props;\n var nextProps = nextParentElement.props;\n\n // Not a simple state update but a props update\n if (prevParentElement !== nextParentElement) {\n willReceive = true;\n }\n\n // An update here will schedule an update but immediately set\n // _pendingStateQueue which will ensure that any state updates gets\n // immediately reconciled instead of waiting for the next batch.\n if (willReceive && inst.componentWillReceiveProps) {\n if (process.env.NODE_ENV !== 'production') {\n measureLifeCyclePerf(function () {\n return inst.componentWillReceiveProps(nextProps, nextContext);\n }, this._debugID, 'componentWillReceiveProps');\n } else {\n inst.componentWillReceiveProps(nextProps, nextContext);\n }\n }\n\n var nextState = this._processPendingState(nextProps, nextContext);\n var shouldUpdate = true;\n\n if (!this._pendingForceUpdate) {\n if (inst.shouldComponentUpdate) {\n if (process.env.NODE_ENV !== 'production') {\n shouldUpdate = measureLifeCyclePerf(function () {\n return inst.shouldComponentUpdate(nextProps, nextState, nextContext);\n }, this._debugID, 'shouldComponentUpdate');\n } else {\n shouldUpdate = inst.shouldComponentUpdate(nextProps, nextState, nextContext);\n }\n } else {\n if (this._compositeType === CompositeTypes.PureClass) {\n shouldUpdate = !shallowEqual(prevProps, nextProps) || !shallowEqual(inst.state, nextState);\n }\n }\n }\n\n if (process.env.NODE_ENV !== 'production') {\n process.env.NODE_ENV !== 'production' ? warning(shouldUpdate !== undefined, '%s.shouldComponentUpdate(): Returned undefined instead of a ' + 'boolean value. Make sure to return true or false.', this.getName() || 'ReactCompositeComponent') : void 0;\n }\n\n this._updateBatchNumber = null;\n if (shouldUpdate) {\n this._pendingForceUpdate = false;\n // Will set `this.props`, `this.state` and `this.context`.\n this._performComponentUpdate(nextParentElement, nextProps, nextState, nextContext, transaction, nextUnmaskedContext);\n } else {\n // If it's determined that a component should not update, we still want\n // to set props and state but we shortcut the rest of the update.\n this._currentElement = nextParentElement;\n this._context = nextUnmaskedContext;\n inst.props = nextProps;\n inst.state = nextState;\n inst.context = nextContext;\n }\n },\n\n _processPendingState: function (props, context) {\n var inst = this._instance;\n var queue = this._pendingStateQueue;\n var replace = this._pendingReplaceState;\n this._pendingReplaceState = false;\n this._pendingStateQueue = null;\n\n if (!queue) {\n return inst.state;\n }\n\n if (replace && queue.length === 1) {\n return queue[0];\n }\n\n var nextState = _assign({}, replace ? queue[0] : inst.state);\n for (var i = replace ? 1 : 0; i < queue.length; i++) {\n var partial = queue[i];\n _assign(nextState, typeof partial === 'function' ? partial.call(inst, nextState, props, context) : partial);\n }\n\n return nextState;\n },\n\n /**\n * Merges new props and state, notifies delegate methods of update and\n * performs update.\n *\n * @param {ReactElement} nextElement Next element\n * @param {object} nextProps Next public object to set as properties.\n * @param {?object} nextState Next object to set as state.\n * @param {?object} nextContext Next public object to set as context.\n * @param {ReactReconcileTransaction} transaction\n * @param {?object} unmaskedContext\n * @private\n */\n _performComponentUpdate: function (nextElement, nextProps, nextState, nextContext, transaction, unmaskedContext) {\n var _this2 = this;\n\n var inst = this._instance;\n\n var hasComponentDidUpdate = Boolean(inst.componentDidUpdate);\n var prevProps;\n var prevState;\n var prevContext;\n if (hasComponentDidUpdate) {\n prevProps = inst.props;\n prevState = inst.state;\n prevContext = inst.context;\n }\n\n if (inst.componentWillUpdate) {\n if (process.env.NODE_ENV !== 'production') {\n measureLifeCyclePerf(function () {\n return inst.componentWillUpdate(nextProps, nextState, nextContext);\n }, this._debugID, 'componentWillUpdate');\n } else {\n inst.componentWillUpdate(nextProps, nextState, nextContext);\n }\n }\n\n this._currentElement = nextElement;\n this._context = unmaskedContext;\n inst.props = nextProps;\n inst.state = nextState;\n inst.context = nextContext;\n\n this._updateRenderedComponent(transaction, unmaskedContext);\n\n if (hasComponentDidUpdate) {\n if (process.env.NODE_ENV !== 'production') {\n transaction.getReactMountReady().enqueue(function () {\n measureLifeCyclePerf(inst.componentDidUpdate.bind(inst, prevProps, prevState, prevContext), _this2._debugID, 'componentDidUpdate');\n });\n } else {\n transaction.getReactMountReady().enqueue(inst.componentDidUpdate.bind(inst, prevProps, prevState, prevContext), inst);\n }\n }\n },\n\n /**\n * Call the component's `render` method and update the DOM accordingly.\n *\n * @param {ReactReconcileTransaction} transaction\n * @internal\n */\n _updateRenderedComponent: function (transaction, context) {\n var prevComponentInstance = this._renderedComponent;\n var prevRenderedElement = prevComponentInstance._currentElement;\n var nextRenderedElement = this._renderValidatedComponent();\n\n var debugID = 0;\n if (process.env.NODE_ENV !== 'production') {\n debugID = this._debugID;\n }\n\n if (shouldUpdateReactComponent(prevRenderedElement, nextRenderedElement)) {\n ReactReconciler.receiveComponent(prevComponentInstance, nextRenderedElement, transaction, this._processChildContext(context));\n } else {\n var oldHostNode = ReactReconciler.getHostNode(prevComponentInstance);\n ReactReconciler.unmountComponent(prevComponentInstance, false);\n\n var nodeType = ReactNodeTypes.getType(nextRenderedElement);\n this._renderedNodeType = nodeType;\n var child = this._instantiateReactComponent(nextRenderedElement, nodeType !== ReactNodeTypes.EMPTY /* shouldHaveDebugID */\n );\n this._renderedComponent = child;\n\n var nextMarkup = ReactReconciler.mountComponent(child, transaction, this._hostParent, this._hostContainerInfo, this._processChildContext(context), debugID);\n\n if (process.env.NODE_ENV !== 'production') {\n if (debugID !== 0) {\n var childDebugIDs = child._debugID !== 0 ? [child._debugID] : [];\n ReactInstrumentation.debugTool.onSetChildren(debugID, childDebugIDs);\n }\n }\n\n this._replaceNodeWithMarkup(oldHostNode, nextMarkup, prevComponentInstance);\n }\n },\n\n /**\n * Overridden in shallow rendering.\n *\n * @protected\n */\n _replaceNodeWithMarkup: function (oldHostNode, nextMarkup, prevInstance) {\n ReactComponentEnvironment.replaceNodeWithMarkup(oldHostNode, nextMarkup, prevInstance);\n },\n\n /**\n * @protected\n */\n _renderValidatedComponentWithoutOwnerOrContext: function () {\n var inst = this._instance;\n var renderedElement;\n\n if (process.env.NODE_ENV !== 'production') {\n renderedElement = measureLifeCyclePerf(function () {\n return inst.render();\n }, this._debugID, 'render');\n } else {\n renderedElement = inst.render();\n }\n\n if (process.env.NODE_ENV !== 'production') {\n // We allow auto-mocks to proceed as if they're returning null.\n if (renderedElement === undefined && inst.render._isMockFunction) {\n // This is probably bad practice. Consider warning here and\n // deprecating this convenience.\n renderedElement = null;\n }\n }\n\n return renderedElement;\n },\n\n /**\n * @private\n */\n _renderValidatedComponent: function () {\n var renderedElement;\n if (process.env.NODE_ENV !== 'production' || this._compositeType !== CompositeTypes.StatelessFunctional) {\n ReactCurrentOwner.current = this;\n try {\n renderedElement = this._renderValidatedComponentWithoutOwnerOrContext();\n } finally {\n ReactCurrentOwner.current = null;\n }\n } else {\n renderedElement = this._renderValidatedComponentWithoutOwnerOrContext();\n }\n !(\n // TODO: An `isValidNode` function would probably be more appropriate\n renderedElement === null || renderedElement === false || React.isValidElement(renderedElement)) ? process.env.NODE_ENV !== 'production' ? invariant(false, '%s.render(): A valid React element (or null) must be returned. You may have returned undefined, an array or some other invalid object.', this.getName() || 'ReactCompositeComponent') : _prodInvariant('109', this.getName() || 'ReactCompositeComponent') : void 0;\n\n return renderedElement;\n },\n\n /**\n * Lazily allocates the refs object and stores `component` as `ref`.\n *\n * @param {string} ref Reference name.\n * @param {component} component Component to store as `ref`.\n * @final\n * @private\n */\n attachRef: function (ref, component) {\n var inst = this.getPublicInstance();\n !(inst != null) ? process.env.NODE_ENV !== 'production' ? invariant(false, 'Stateless function components cannot have refs.') : _prodInvariant('110') : void 0;\n var publicComponentInstance = component.getPublicInstance();\n if (process.env.NODE_ENV !== 'production') {\n var componentName = component && component.getName ? component.getName() : 'a component';\n process.env.NODE_ENV !== 'production' ? warning(publicComponentInstance != null || component._compositeType !== CompositeTypes.StatelessFunctional, 'Stateless function components cannot be given refs ' + '(See ref \"%s\" in %s created by %s). ' + 'Attempts to access this ref will fail.', ref, componentName, this.getName()) : void 0;\n }\n var refs = inst.refs === emptyObject ? inst.refs = {} : inst.refs;\n refs[ref] = publicComponentInstance;\n },\n\n /**\n * Detaches a reference name.\n *\n * @param {string} ref Name to dereference.\n * @final\n * @private\n */\n detachRef: function (ref) {\n var refs = this.getPublicInstance().refs;\n delete refs[ref];\n },\n\n /**\n * Get a text description of the component that can be used to identify it\n * in error messages.\n * @return {string} The name or null.\n * @internal\n */\n getName: function () {\n var type = this._currentElement.type;\n var constructor = this._instance && this._instance.constructor;\n return type.displayName || constructor && constructor.displayName || type.name || constructor && constructor.name || null;\n },\n\n /**\n * Get the publicly accessible representation of this component - i.e. what\n * is exposed by refs and returned by render. Can be null for stateless\n * components.\n *\n * @return {ReactComponent} the public component instance.\n * @internal\n */\n getPublicInstance: function () {\n var inst = this._instance;\n if (this._compositeType === CompositeTypes.StatelessFunctional) {\n return null;\n }\n return inst;\n },\n\n // Stub\n _instantiateReactComponent: null\n};\n\nmodule.exports = ReactCompositeComponent;","/**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * \n */\n\n'use strict';\n\nvar nextDebugID = 1;\n\nfunction getNextDebugID() {\n return nextDebugID++;\n}\n\nmodule.exports = getNextDebugID;","/**\n * Copyright (c) 2014-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * \n */\n\n'use strict';\n\n// The Symbol used to tag the ReactElement type. If there is no native Symbol\n// nor polyfill, then a plain number is used for performance.\n\nvar REACT_ELEMENT_TYPE = typeof Symbol === 'function' && Symbol['for'] && Symbol['for']('react.element') || 0xeac7;\n\nmodule.exports = REACT_ELEMENT_TYPE;","/**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * \n */\n\n'use strict';\n\n/* global Symbol */\n\nvar ITERATOR_SYMBOL = typeof Symbol === 'function' && Symbol.iterator;\nvar FAUX_ITERATOR_SYMBOL = '@@iterator'; // Before Symbol spec.\n\n/**\n * Returns the iterator method function contained on the iterable object.\n *\n * Be sure to invoke the function with the iterable as context:\n *\n * var iteratorFn = getIteratorFn(myIterable);\n * if (iteratorFn) {\n * var iterator = iteratorFn.call(myIterable);\n * ...\n * }\n *\n * @param {?object} maybeIterable\n * @return {?function}\n */\nfunction getIteratorFn(maybeIterable) {\n var iteratorFn = maybeIterable && (ITERATOR_SYMBOL && maybeIterable[ITERATOR_SYMBOL] || maybeIterable[FAUX_ITERATOR_SYMBOL]);\n if (typeof iteratorFn === 'function') {\n return iteratorFn;\n }\n}\n\nmodule.exports = getIteratorFn;","/**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * \n */\n\n'use strict';\n\nvar KeyEscapeUtils = require('./KeyEscapeUtils');\nvar traverseAllChildren = require('./traverseAllChildren');\nvar warning = require('fbjs/lib/warning');\n\nvar ReactComponentTreeHook;\n\nif (typeof process !== 'undefined' && process.env && process.env.NODE_ENV === 'test') {\n // Temporary hack.\n // Inline requires don't work well with Jest:\n // https://github.com/facebook/react/issues/7240\n // Remove the inline requires when we don't need them anymore:\n // https://github.com/facebook/react/pull/7178\n ReactComponentTreeHook = require('react/lib/ReactComponentTreeHook');\n}\n\n/**\n * @param {function} traverseContext Context passed through traversal.\n * @param {?ReactComponent} child React child component.\n * @param {!string} name String name of key path to child.\n * @param {number=} selfDebugID Optional debugID of the current internal instance.\n */\nfunction flattenSingleChildIntoContext(traverseContext, child, name, selfDebugID) {\n // We found a component instance.\n if (traverseContext && typeof traverseContext === 'object') {\n var result = traverseContext;\n var keyUnique = result[name] === undefined;\n if (process.env.NODE_ENV !== 'production') {\n if (!ReactComponentTreeHook) {\n ReactComponentTreeHook = require('react/lib/ReactComponentTreeHook');\n }\n if (!keyUnique) {\n process.env.NODE_ENV !== 'production' ? warning(false, 'flattenChildren(...): Encountered two children with the same key, ' + '`%s`. Child keys must be unique; when two children share a key, only ' + 'the first child will be used.%s', KeyEscapeUtils.unescape(name), ReactComponentTreeHook.getStackAddendumByID(selfDebugID)) : void 0;\n }\n }\n if (keyUnique && child != null) {\n result[name] = child;\n }\n }\n}\n\n/**\n * Flattens children that are typically specified as `props.children`. Any null\n * children will not be included in the resulting object.\n * @return {!object} flattened children keyed by name.\n */\nfunction flattenChildren(children, selfDebugID) {\n if (children == null) {\n return children;\n }\n var result = {};\n\n if (process.env.NODE_ENV !== 'production') {\n traverseAllChildren(children, function (traverseContext, child, name) {\n return flattenSingleChildIntoContext(traverseContext, child, name, selfDebugID);\n }, result);\n } else {\n traverseAllChildren(children, flattenSingleChildIntoContext, result);\n }\n return result;\n}\n\nmodule.exports = flattenChildren;","/**\n * Copyright (c) 2014-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n */\n\n'use strict';\n\nvar _assign = require('object-assign');\n\nvar PooledClass = require('./PooledClass');\nvar Transaction = require('./Transaction');\nvar ReactInstrumentation = require('./ReactInstrumentation');\nvar ReactServerUpdateQueue = require('./ReactServerUpdateQueue');\n\n/**\n * Executed within the scope of the `Transaction` instance. Consider these as\n * being member methods, but with an implied ordering while being isolated from\n * each other.\n */\nvar TRANSACTION_WRAPPERS = [];\n\nif (process.env.NODE_ENV !== 'production') {\n TRANSACTION_WRAPPERS.push({\n initialize: ReactInstrumentation.debugTool.onBeginFlush,\n close: ReactInstrumentation.debugTool.onEndFlush\n });\n}\n\nvar noopCallbackQueue = {\n enqueue: function () {}\n};\n\n/**\n * @class ReactServerRenderingTransaction\n * @param {boolean} renderToStaticMarkup\n */\nfunction ReactServerRenderingTransaction(renderToStaticMarkup) {\n this.reinitializeTransaction();\n this.renderToStaticMarkup = renderToStaticMarkup;\n this.useCreateElement = false;\n this.updateQueue = new ReactServerUpdateQueue(this);\n}\n\nvar Mixin = {\n /**\n * @see Transaction\n * @abstract\n * @final\n * @return {array} Empty list of operation wrap procedures.\n */\n getTransactionWrappers: function () {\n return TRANSACTION_WRAPPERS;\n },\n\n /**\n * @return {object} The queue to collect `onDOMReady` callbacks with.\n */\n getReactMountReady: function () {\n return noopCallbackQueue;\n },\n\n /**\n * @return {object} The queue to collect React async events.\n */\n getUpdateQueue: function () {\n return this.updateQueue;\n },\n\n /**\n * `PooledClass` looks for this, and will invoke this before allowing this\n * instance to be reused.\n */\n destructor: function () {},\n\n checkpoint: function () {},\n\n rollback: function () {}\n};\n\n_assign(ReactServerRenderingTransaction.prototype, Transaction, Mixin);\n\nPooledClass.addPoolingTo(ReactServerRenderingTransaction);\n\nmodule.exports = ReactServerRenderingTransaction;","/**\n * Copyright (c) 2015-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * \n */\n\n'use strict';\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nvar ReactUpdateQueue = require('./ReactUpdateQueue');\n\nvar warning = require('fbjs/lib/warning');\n\nfunction warnNoop(publicInstance, callerName) {\n if (process.env.NODE_ENV !== 'production') {\n var constructor = publicInstance.constructor;\n process.env.NODE_ENV !== 'production' ? warning(false, '%s(...): Can only update a mounting component. ' + 'This usually means you called %s() outside componentWillMount() on the server. ' + 'This is a no-op. Please check the code for the %s component.', callerName, callerName, constructor && (constructor.displayName || constructor.name) || 'ReactClass') : void 0;\n }\n}\n\n/**\n * This is the update queue used for server rendering.\n * It delegates to ReactUpdateQueue while server rendering is in progress and\n * switches to ReactNoopUpdateQueue after the transaction has completed.\n * @class ReactServerUpdateQueue\n * @param {Transaction} transaction\n */\n\nvar ReactServerUpdateQueue = function () {\n function ReactServerUpdateQueue(transaction) {\n _classCallCheck(this, ReactServerUpdateQueue);\n\n this.transaction = transaction;\n }\n\n /**\n * Checks whether or not this composite component is mounted.\n * @param {ReactClass} publicInstance The instance we want to test.\n * @return {boolean} True if mounted, false otherwise.\n * @protected\n * @final\n */\n\n\n ReactServerUpdateQueue.prototype.isMounted = function isMounted(publicInstance) {\n return false;\n };\n\n /**\n * Enqueue a callback that will be executed after all the pending updates\n * have processed.\n *\n * @param {ReactClass} publicInstance The instance to use as `this` context.\n * @param {?function} callback Called after state is updated.\n * @internal\n */\n\n\n ReactServerUpdateQueue.prototype.enqueueCallback = function enqueueCallback(publicInstance, callback, callerName) {\n if (this.transaction.isInTransaction()) {\n ReactUpdateQueue.enqueueCallback(publicInstance, callback, callerName);\n }\n };\n\n /**\n * Forces an update. This should only be invoked when it is known with\n * certainty that we are **not** in a DOM transaction.\n *\n * You may want to call this when you know that some deeper aspect of the\n * component's state has changed but `setState` was not called.\n *\n * This will not invoke `shouldComponentUpdate`, but it will invoke\n * `componentWillUpdate` and `componentDidUpdate`.\n *\n * @param {ReactClass} publicInstance The instance that should rerender.\n * @internal\n */\n\n\n ReactServerUpdateQueue.prototype.enqueueForceUpdate = function enqueueForceUpdate(publicInstance) {\n if (this.transaction.isInTransaction()) {\n ReactUpdateQueue.enqueueForceUpdate(publicInstance);\n } else {\n warnNoop(publicInstance, 'forceUpdate');\n }\n };\n\n /**\n * Replaces all of the state. Always use this or `setState` to mutate state.\n * You should treat `this.state` as immutable.\n *\n * There is no guarantee that `this.state` will be immediately updated, so\n * accessing `this.state` after calling this method may return the old value.\n *\n * @param {ReactClass} publicInstance The instance that should rerender.\n * @param {object|function} completeState Next state.\n * @internal\n */\n\n\n ReactServerUpdateQueue.prototype.enqueueReplaceState = function enqueueReplaceState(publicInstance, completeState) {\n if (this.transaction.isInTransaction()) {\n ReactUpdateQueue.enqueueReplaceState(publicInstance, completeState);\n } else {\n warnNoop(publicInstance, 'replaceState');\n }\n };\n\n /**\n * Sets a subset of the state. This only exists because _pendingState is\n * internal. This provides a merging strategy that is not available to deep\n * properties which is confusing. TODO: Expose pendingState or don't use it\n * during the merge.\n *\n * @param {ReactClass} publicInstance The instance that should rerender.\n * @param {object|function} partialState Next partial state to be merged with state.\n * @internal\n */\n\n\n ReactServerUpdateQueue.prototype.enqueueSetState = function enqueueSetState(publicInstance, partialState) {\n if (this.transaction.isInTransaction()) {\n ReactUpdateQueue.enqueueSetState(publicInstance, partialState);\n } else {\n warnNoop(publicInstance, 'setState');\n }\n };\n\n return ReactServerUpdateQueue;\n}();\n\nmodule.exports = ReactServerUpdateQueue;","/**\n * Copyright (c) 2014-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n */\n\n'use strict';\n\nvar _assign = require('object-assign');\n\nvar DOMLazyTree = require('./DOMLazyTree');\nvar ReactDOMComponentTree = require('./ReactDOMComponentTree');\n\nvar ReactDOMEmptyComponent = function (instantiate) {\n // ReactCompositeComponent uses this:\n this._currentElement = null;\n // ReactDOMComponentTree uses these:\n this._hostNode = null;\n this._hostParent = null;\n this._hostContainerInfo = null;\n this._domID = 0;\n};\n_assign(ReactDOMEmptyComponent.prototype, {\n mountComponent: function (transaction, hostParent, hostContainerInfo, context) {\n var domID = hostContainerInfo._idCounter++;\n this._domID = domID;\n this._hostParent = hostParent;\n this._hostContainerInfo = hostContainerInfo;\n\n var nodeValue = ' react-empty: ' + this._domID + ' ';\n if (transaction.useCreateElement) {\n var ownerDocument = hostContainerInfo._ownerDocument;\n var node = ownerDocument.createComment(nodeValue);\n ReactDOMComponentTree.precacheNode(this, node);\n return DOMLazyTree(node);\n } else {\n if (transaction.renderToStaticMarkup) {\n // Normally we'd insert a comment node, but since this is a situation\n // where React won't take over (static pages), we can simply return\n // nothing.\n return '';\n }\n return '<!--' + nodeValue + '-->';\n }\n },\n receiveComponent: function () {},\n getHostNode: function () {\n return ReactDOMComponentTree.getNodeFromInstance(this);\n },\n unmountComponent: function () {\n ReactDOMComponentTree.uncacheNode(this);\n }\n});\n\nmodule.exports = ReactDOMEmptyComponent;","/**\n * Copyright (c) 2015-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n */\n\n'use strict';\n\nvar _prodInvariant = require('./reactProdInvariant');\n\nvar invariant = require('fbjs/lib/invariant');\n\n/**\n * Return the lowest common ancestor of A and B, or null if they are in\n * different trees.\n */\nfunction getLowestCommonAncestor(instA, instB) {\n !('_hostNode' in instA) ? process.env.NODE_ENV !== 'production' ? invariant(false, 'getNodeFromInstance: Invalid argument.') : _prodInvariant('33') : void 0;\n !('_hostNode' in instB) ? process.env.NODE_ENV !== 'production' ? invariant(false, 'getNodeFromInstance: Invalid argument.') : _prodInvariant('33') : void 0;\n\n var depthA = 0;\n for (var tempA = instA; tempA; tempA = tempA._hostParent) {\n depthA++;\n }\n var depthB = 0;\n for (var tempB = instB; tempB; tempB = tempB._hostParent) {\n depthB++;\n }\n\n // If A is deeper, crawl up.\n while (depthA - depthB > 0) {\n instA = instA._hostParent;\n depthA--;\n }\n\n // If B is deeper, crawl up.\n while (depthB - depthA > 0) {\n instB = instB._hostParent;\n depthB--;\n }\n\n // Walk in lockstep until we find a match.\n var depth = depthA;\n while (depth--) {\n if (instA === instB) {\n return instA;\n }\n instA = instA._hostParent;\n instB = instB._hostParent;\n }\n return null;\n}\n\n/**\n * Return if A is an ancestor of B.\n */\nfunction isAncestor(instA, instB) {\n !('_hostNode' in instA) ? process.env.NODE_ENV !== 'production' ? invariant(false, 'isAncestor: Invalid argument.') : _prodInvariant('35') : void 0;\n !('_hostNode' in instB) ? process.env.NODE_ENV !== 'production' ? invariant(false, 'isAncestor: Invalid argument.') : _prodInvariant('35') : void 0;\n\n while (instB) {\n if (instB === instA) {\n return true;\n }\n instB = instB._hostParent;\n }\n return false;\n}\n\n/**\n * Return the parent instance of the passed-in instance.\n */\nfunction getParentInstance(inst) {\n !('_hostNode' in inst) ? process.env.NODE_ENV !== 'production' ? invariant(false, 'getParentInstance: Invalid argument.') : _prodInvariant('36') : void 0;\n\n return inst._hostParent;\n}\n\n/**\n * Simulates the traversal of a two-phase, capture/bubble event dispatch.\n */\nfunction traverseTwoPhase(inst, fn, arg) {\n var path = [];\n while (inst) {\n path.push(inst);\n inst = inst._hostParent;\n }\n var i;\n for (i = path.length; i-- > 0;) {\n fn(path[i], 'captured', arg);\n }\n for (i = 0; i < path.length; i++) {\n fn(path[i], 'bubbled', arg);\n }\n}\n\n/**\n * Traverses the ID hierarchy and invokes the supplied `cb` on any IDs that\n * should would receive a `mouseEnter` or `mouseLeave` event.\n *\n * Does not invoke the callback on the nearest common ancestor because nothing\n * \"entered\" or \"left\" that element.\n */\nfunction traverseEnterLeave(from, to, fn, argFrom, argTo) {\n var common = from && to ? getLowestCommonAncestor(from, to) : null;\n var pathFrom = [];\n while (from && from !== common) {\n pathFrom.push(from);\n from = from._hostParent;\n }\n var pathTo = [];\n while (to && to !== common) {\n pathTo.push(to);\n to = to._hostParent;\n }\n var i;\n for (i = 0; i < pathFrom.length; i++) {\n fn(pathFrom[i], 'bubbled', argFrom);\n }\n for (i = pathTo.length; i-- > 0;) {\n fn(pathTo[i], 'captured', argTo);\n }\n}\n\nmodule.exports = {\n isAncestor: isAncestor,\n getLowestCommonAncestor: getLowestCommonAncestor,\n getParentInstance: getParentInstance,\n traverseTwoPhase: traverseTwoPhase,\n traverseEnterLeave: traverseEnterLeave\n};","/**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n */\n\n'use strict';\n\nvar _prodInvariant = require('./reactProdInvariant'),\n _assign = require('object-assign');\n\nvar DOMChildrenOperations = require('./DOMChildrenOperations');\nvar DOMLazyTree = require('./DOMLazyTree');\nvar ReactDOMComponentTree = require('./ReactDOMComponentTree');\n\nvar escapeTextContentForBrowser = require('./escapeTextContentForBrowser');\nvar invariant = require('fbjs/lib/invariant');\nvar validateDOMNesting = require('./validateDOMNesting');\n\n/**\n * Text nodes violate a couple assumptions that React makes about components:\n *\n * - When mounting text into the DOM, adjacent text nodes are merged.\n * - Text nodes cannot be assigned a React root ID.\n *\n * This component is used to wrap strings between comment nodes so that they\n * can undergo the same reconciliation that is applied to elements.\n *\n * TODO: Investigate representing React components in the DOM with text nodes.\n *\n * @class ReactDOMTextComponent\n * @extends ReactComponent\n * @internal\n */\nvar ReactDOMTextComponent = function (text) {\n // TODO: This is really a ReactText (ReactNode), not a ReactElement\n this._currentElement = text;\n this._stringText = '' + text;\n // ReactDOMComponentTree uses these:\n this._hostNode = null;\n this._hostParent = null;\n\n // Properties\n this._domID = 0;\n this._mountIndex = 0;\n this._closingComment = null;\n this._commentNodes = null;\n};\n\n_assign(ReactDOMTextComponent.prototype, {\n /**\n * Creates the markup for this text node. This node is not intended to have\n * any features besides containing text content.\n *\n * @param {ReactReconcileTransaction|ReactServerRenderingTransaction} transaction\n * @return {string} Markup for this text node.\n * @internal\n */\n mountComponent: function (transaction, hostParent, hostContainerInfo, context) {\n if (process.env.NODE_ENV !== 'production') {\n var parentInfo;\n if (hostParent != null) {\n parentInfo = hostParent._ancestorInfo;\n } else if (hostContainerInfo != null) {\n parentInfo = hostContainerInfo._ancestorInfo;\n }\n if (parentInfo) {\n // parentInfo should always be present except for the top-level\n // component when server rendering\n validateDOMNesting(null, this._stringText, this, parentInfo);\n }\n }\n\n var domID = hostContainerInfo._idCounter++;\n var openingValue = ' react-text: ' + domID + ' ';\n var closingValue = ' /react-text ';\n this._domID = domID;\n this._hostParent = hostParent;\n if (transaction.useCreateElement) {\n var ownerDocument = hostContainerInfo._ownerDocument;\n var openingComment = ownerDocument.createComment(openingValue);\n var closingComment = ownerDocument.createComment(closingValue);\n var lazyTree = DOMLazyTree(ownerDocument.createDocumentFragment());\n DOMLazyTree.queueChild(lazyTree, DOMLazyTree(openingComment));\n if (this._stringText) {\n DOMLazyTree.queueChild(lazyTree, DOMLazyTree(ownerDocument.createTextNode(this._stringText)));\n }\n DOMLazyTree.queueChild(lazyTree, DOMLazyTree(closingComment));\n ReactDOMComponentTree.precacheNode(this, openingComment);\n this._closingComment = closingComment;\n return lazyTree;\n } else {\n var escapedText = escapeTextContentForBrowser(this._stringText);\n\n if (transaction.renderToStaticMarkup) {\n // Normally we'd wrap this between comment nodes for the reasons stated\n // above, but since this is a situation where React won't take over\n // (static pages), we can simply return the text as it is.\n return escapedText;\n }\n\n return '<!--' + openingValue + '-->' + escapedText + '<!--' + closingValue + '-->';\n }\n },\n\n /**\n * Updates this component by updating the text content.\n *\n * @param {ReactText} nextText The next text content\n * @param {ReactReconcileTransaction} transaction\n * @internal\n */\n receiveComponent: function (nextText, transaction) {\n if (nextText !== this._currentElement) {\n this._currentElement = nextText;\n var nextStringText = '' + nextText;\n if (nextStringText !== this._stringText) {\n // TODO: Save this as pending props and use performUpdateIfNecessary\n // and/or updateComponent to do the actual update for consistency with\n // other component types?\n this._stringText = nextStringText;\n var commentNodes = this.getHostNode();\n DOMChildrenOperations.replaceDelimitedText(commentNodes[0], commentNodes[1], nextStringText);\n }\n }\n },\n\n getHostNode: function () {\n var hostNode = this._commentNodes;\n if (hostNode) {\n return hostNode;\n }\n if (!this._closingComment) {\n var openingComment = ReactDOMComponentTree.getNodeFromInstance(this);\n var node = openingComment.nextSibling;\n while (true) {\n !(node != null) ? process.env.NODE_ENV !== 'production' ? invariant(false, 'Missing closing comment for text component %s', this._domID) : _prodInvariant('67', this._domID) : void 0;\n if (node.nodeType === 8 && node.nodeValue === ' /react-text ') {\n this._closingComment = node;\n break;\n }\n node = node.nextSibling;\n }\n }\n hostNode = [this._hostNode, this._closingComment];\n this._commentNodes = hostNode;\n return hostNode;\n },\n\n unmountComponent: function () {\n this._closingComment = null;\n this._commentNodes = null;\n ReactDOMComponentTree.uncacheNode(this);\n }\n});\n\nmodule.exports = ReactDOMTextComponent;","/**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n */\n\n'use strict';\n\nvar _assign = require('object-assign');\n\nvar ReactUpdates = require('./ReactUpdates');\nvar Transaction = require('./Transaction');\n\nvar emptyFunction = require('fbjs/lib/emptyFunction');\n\nvar RESET_BATCHED_UPDATES = {\n initialize: emptyFunction,\n close: function () {\n ReactDefaultBatchingStrategy.isBatchingUpdates = false;\n }\n};\n\nvar FLUSH_BATCHED_UPDATES = {\n initialize: emptyFunction,\n close: ReactUpdates.flushBatchedUpdates.bind(ReactUpdates)\n};\n\nvar TRANSACTION_WRAPPERS = [FLUSH_BATCHED_UPDATES, RESET_BATCHED_UPDATES];\n\nfunction ReactDefaultBatchingStrategyTransaction() {\n this.reinitializeTransaction();\n}\n\n_assign(ReactDefaultBatchingStrategyTransaction.prototype, Transaction, {\n getTransactionWrappers: function () {\n return TRANSACTION_WRAPPERS;\n }\n});\n\nvar transaction = new ReactDefaultBatchingStrategyTransaction();\n\nvar ReactDefaultBatchingStrategy = {\n isBatchingUpdates: false,\n\n /**\n * Call the provided function in a context within which calls to `setState`\n * and friends are batched such that components aren't updated unnecessarily.\n */\n batchedUpdates: function (callback, a, b, c, d, e) {\n var alreadyBatchingUpdates = ReactDefaultBatchingStrategy.isBatchingUpdates;\n\n ReactDefaultBatchingStrategy.isBatchingUpdates = true;\n\n // The code is written this way to avoid extra allocations\n if (alreadyBatchingUpdates) {\n return callback(a, b, c, d, e);\n } else {\n return transaction.perform(callback, null, a, b, c, d, e);\n }\n }\n};\n\nmodule.exports = ReactDefaultBatchingStrategy;","/**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n */\n\n'use strict';\n\nvar _assign = require('object-assign');\n\nvar EventListener = require('fbjs/lib/EventListener');\nvar ExecutionEnvironment = require('fbjs/lib/ExecutionEnvironment');\nvar PooledClass = require('./PooledClass');\nvar ReactDOMComponentTree = require('./ReactDOMComponentTree');\nvar ReactUpdates = require('./ReactUpdates');\n\nvar getEventTarget = require('./getEventTarget');\nvar getUnboundedScrollPosition = require('fbjs/lib/getUnboundedScrollPosition');\n\n/**\n * Find the deepest React component completely containing the root of the\n * passed-in instance (for use when entire React trees are nested within each\n * other). If React trees are not nested, returns null.\n */\nfunction findParent(inst) {\n // TODO: It may be a good idea to cache this to prevent unnecessary DOM\n // traversal, but caching is difficult to do correctly without using a\n // mutation observer to listen for all DOM changes.\n while (inst._hostParent) {\n inst = inst._hostParent;\n }\n var rootNode = ReactDOMComponentTree.getNodeFromInstance(inst);\n var container = rootNode.parentNode;\n return ReactDOMComponentTree.getClosestInstanceFromNode(container);\n}\n\n// Used to store ancestor hierarchy in top level callback\nfunction TopLevelCallbackBookKeeping(topLevelType, nativeEvent) {\n this.topLevelType = topLevelType;\n this.nativeEvent = nativeEvent;\n this.ancestors = [];\n}\n_assign(TopLevelCallbackBookKeeping.prototype, {\n destructor: function () {\n this.topLevelType = null;\n this.nativeEvent = null;\n this.ancestors.length = 0;\n }\n});\nPooledClass.addPoolingTo(TopLevelCallbackBookKeeping, PooledClass.twoArgumentPooler);\n\nfunction handleTopLevelImpl(bookKeeping) {\n var nativeEventTarget = getEventTarget(bookKeeping.nativeEvent);\n var targetInst = ReactDOMComponentTree.getClosestInstanceFromNode(nativeEventTarget);\n\n // Loop through the hierarchy, in case there's any nested components.\n // It's important that we build the array of ancestors before calling any\n // event handlers, because event handlers can modify the DOM, leading to\n // inconsistencies with ReactMount's node cache. See #1105.\n var ancestor = targetInst;\n do {\n bookKeeping.ancestors.push(ancestor);\n ancestor = ancestor && findParent(ancestor);\n } while (ancestor);\n\n for (var i = 0; i < bookKeeping.ancestors.length; i++) {\n targetInst = bookKeeping.ancestors[i];\n ReactEventListener._handleTopLevel(bookKeeping.topLevelType, targetInst, bookKeeping.nativeEvent, getEventTarget(bookKeeping.nativeEvent));\n }\n}\n\nfunction scrollValueMonitor(cb) {\n var scrollPosition = getUnboundedScrollPosition(window);\n cb(scrollPosition);\n}\n\nvar ReactEventListener = {\n _enabled: true,\n _handleTopLevel: null,\n\n WINDOW_HANDLE: ExecutionEnvironment.canUseDOM ? window : null,\n\n setHandleTopLevel: function (handleTopLevel) {\n ReactEventListener._handleTopLevel = handleTopLevel;\n },\n\n setEnabled: function (enabled) {\n ReactEventListener._enabled = !!enabled;\n },\n\n isEnabled: function () {\n return ReactEventListener._enabled;\n },\n\n /**\n * Traps top-level events by using event bubbling.\n *\n * @param {string} topLevelType Record from `EventConstants`.\n * @param {string} handlerBaseName Event name (e.g. \"click\").\n * @param {object} element Element on which to attach listener.\n * @return {?object} An object with a remove function which will forcefully\n * remove the listener.\n * @internal\n */\n trapBubbledEvent: function (topLevelType, handlerBaseName, element) {\n if (!element) {\n return null;\n }\n return EventListener.listen(element, handlerBaseName, ReactEventListener.dispatchEvent.bind(null, topLevelType));\n },\n\n /**\n * Traps a top-level event by using event capturing.\n *\n * @param {string} topLevelType Record from `EventConstants`.\n * @param {string} handlerBaseName Event name (e.g. \"click\").\n * @param {object} element Element on which to attach listener.\n * @return {?object} An object with a remove function which will forcefully\n * remove the listener.\n * @internal\n */\n trapCapturedEvent: function (topLevelType, handlerBaseName, element) {\n if (!element) {\n return null;\n }\n return EventListener.capture(element, handlerBaseName, ReactEventListener.dispatchEvent.bind(null, topLevelType));\n },\n\n monitorScrollValue: function (refresh) {\n var callback = scrollValueMonitor.bind(null, refresh);\n EventListener.listen(window, 'scroll', callback);\n },\n\n dispatchEvent: function (topLevelType, nativeEvent) {\n if (!ReactEventListener._enabled) {\n return;\n }\n\n var bookKeeping = TopLevelCallbackBookKeeping.getPooled(topLevelType, nativeEvent);\n try {\n // Event queue being processed in the same cycle allows\n // `preventDefault`.\n ReactUpdates.batchedUpdates(handleTopLevelImpl, bookKeeping);\n } finally {\n TopLevelCallbackBookKeeping.release(bookKeeping);\n }\n }\n};\n\nmodule.exports = ReactEventListener;","/**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * @typechecks\n */\n\n'use strict';\n\n/**\n * Gets the scroll position of the supplied element or window.\n *\n * The return values are unbounded, unlike `getScrollPosition`. This means they\n * may be negative or exceed the element boundaries (which is possible using\n * inertial scrolling).\n *\n * @param {DOMWindow|DOMElement} scrollable\n * @return {object} Map with `x` and `y` keys.\n */\n\nfunction getUnboundedScrollPosition(scrollable) {\n if (scrollable.Window && scrollable instanceof scrollable.Window) {\n return {\n x: scrollable.pageXOffset || scrollable.document.documentElement.scrollLeft,\n y: scrollable.pageYOffset || scrollable.document.documentElement.scrollTop\n };\n }\n return {\n x: scrollable.scrollLeft,\n y: scrollable.scrollTop\n };\n}\n\nmodule.exports = getUnboundedScrollPosition;","/**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n */\n\n'use strict';\n\nvar DOMProperty = require('./DOMProperty');\nvar EventPluginHub = require('./EventPluginHub');\nvar EventPluginUtils = require('./EventPluginUtils');\nvar ReactComponentEnvironment = require('./ReactComponentEnvironment');\nvar ReactEmptyComponent = require('./ReactEmptyComponent');\nvar ReactBrowserEventEmitter = require('./ReactBrowserEventEmitter');\nvar ReactHostComponent = require('./ReactHostComponent');\nvar ReactUpdates = require('./ReactUpdates');\n\nvar ReactInjection = {\n Component: ReactComponentEnvironment.injection,\n DOMProperty: DOMProperty.injection,\n EmptyComponent: ReactEmptyComponent.injection,\n EventPluginHub: EventPluginHub.injection,\n EventPluginUtils: EventPluginUtils.injection,\n EventEmitter: ReactBrowserEventEmitter.injection,\n HostComponent: ReactHostComponent.injection,\n Updates: ReactUpdates.injection\n};\n\nmodule.exports = ReactInjection;","/**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n */\n\n'use strict';\n\nvar _assign = require('object-assign');\n\nvar CallbackQueue = require('./CallbackQueue');\nvar PooledClass = require('./PooledClass');\nvar ReactBrowserEventEmitter = require('./ReactBrowserEventEmitter');\nvar ReactInputSelection = require('./ReactInputSelection');\nvar ReactInstrumentation = require('./ReactInstrumentation');\nvar Transaction = require('./Transaction');\nvar ReactUpdateQueue = require('./ReactUpdateQueue');\n\n/**\n * Ensures that, when possible, the selection range (currently selected text\n * input) is not disturbed by performing the transaction.\n */\nvar SELECTION_RESTORATION = {\n /**\n * @return {Selection} Selection information.\n */\n initialize: ReactInputSelection.getSelectionInformation,\n /**\n * @param {Selection} sel Selection information returned from `initialize`.\n */\n close: ReactInputSelection.restoreSelection\n};\n\n/**\n * Suppresses events (blur/focus) that could be inadvertently dispatched due to\n * high level DOM manipulations (like temporarily removing a text input from the\n * DOM).\n */\nvar EVENT_SUPPRESSION = {\n /**\n * @return {boolean} The enabled status of `ReactBrowserEventEmitter` before\n * the reconciliation.\n */\n initialize: function () {\n var currentlyEnabled = ReactBrowserEventEmitter.isEnabled();\n ReactBrowserEventEmitter.setEnabled(false);\n return currentlyEnabled;\n },\n\n /**\n * @param {boolean} previouslyEnabled Enabled status of\n * `ReactBrowserEventEmitter` before the reconciliation occurred. `close`\n * restores the previous value.\n */\n close: function (previouslyEnabled) {\n ReactBrowserEventEmitter.setEnabled(previouslyEnabled);\n }\n};\n\n/**\n * Provides a queue for collecting `componentDidMount` and\n * `componentDidUpdate` callbacks during the transaction.\n */\nvar ON_DOM_READY_QUEUEING = {\n /**\n * Initializes the internal `onDOMReady` queue.\n */\n initialize: function () {\n this.reactMountReady.reset();\n },\n\n /**\n * After DOM is flushed, invoke all registered `onDOMReady` callbacks.\n */\n close: function () {\n this.reactMountReady.notifyAll();\n }\n};\n\n/**\n * Executed within the scope of the `Transaction` instance. Consider these as\n * being member methods, but with an implied ordering while being isolated from\n * each other.\n */\nvar TRANSACTION_WRAPPERS = [SELECTION_RESTORATION, EVENT_SUPPRESSION, ON_DOM_READY_QUEUEING];\n\nif (process.env.NODE_ENV !== 'production') {\n TRANSACTION_WRAPPERS.push({\n initialize: ReactInstrumentation.debugTool.onBeginFlush,\n close: ReactInstrumentation.debugTool.onEndFlush\n });\n}\n\n/**\n * Currently:\n * - The order that these are listed in the transaction is critical:\n * - Suppresses events.\n * - Restores selection range.\n *\n * Future:\n * - Restore document/overflow scroll positions that were unintentionally\n * modified via DOM insertions above the top viewport boundary.\n * - Implement/integrate with customized constraint based layout system and keep\n * track of which dimensions must be remeasured.\n *\n * @class ReactReconcileTransaction\n */\nfunction ReactReconcileTransaction(useCreateElement) {\n this.reinitializeTransaction();\n // Only server-side rendering really needs this option (see\n // `ReactServerRendering`), but server-side uses\n // `ReactServerRenderingTransaction` instead. This option is here so that it's\n // accessible and defaults to false when `ReactDOMComponent` and\n // `ReactDOMTextComponent` checks it in `mountComponent`.`\n this.renderToStaticMarkup = false;\n this.reactMountReady = CallbackQueue.getPooled(null);\n this.useCreateElement = useCreateElement;\n}\n\nvar Mixin = {\n /**\n * @see Transaction\n * @abstract\n * @final\n * @return {array<object>} List of operation wrap procedures.\n * TODO: convert to array<TransactionWrapper>\n */\n getTransactionWrappers: function () {\n return TRANSACTION_WRAPPERS;\n },\n\n /**\n * @return {object} The queue to collect `onDOMReady` callbacks with.\n */\n getReactMountReady: function () {\n return this.reactMountReady;\n },\n\n /**\n * @return {object} The queue to collect React async events.\n */\n getUpdateQueue: function () {\n return ReactUpdateQueue;\n },\n\n /**\n * Save current transaction state -- if the return value from this method is\n * passed to `rollback`, the transaction will be reset to that state.\n */\n checkpoint: function () {\n // reactMountReady is the our only stateful wrapper\n return this.reactMountReady.checkpoint();\n },\n\n rollback: function (checkpoint) {\n this.reactMountReady.rollback(checkpoint);\n },\n\n /**\n * `PooledClass` looks for this, and will invoke this before allowing this\n * instance to be reused.\n */\n destructor: function () {\n CallbackQueue.release(this.reactMountReady);\n this.reactMountReady = null;\n }\n};\n\n_assign(ReactReconcileTransaction.prototype, Transaction, Mixin);\n\nPooledClass.addPoolingTo(ReactReconcileTransaction);\n\nmodule.exports = ReactReconcileTransaction;","/**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n */\n\n'use strict';\n\nvar ExecutionEnvironment = require('fbjs/lib/ExecutionEnvironment');\n\nvar getNodeForCharacterOffset = require('./getNodeForCharacterOffset');\nvar getTextContentAccessor = require('./getTextContentAccessor');\n\n/**\n * While `isCollapsed` is available on the Selection object and `collapsed`\n * is available on the Range object, IE11 sometimes gets them wrong.\n * If the anchor/focus nodes and offsets are the same, the range is collapsed.\n */\nfunction isCollapsed(anchorNode, anchorOffset, focusNode, focusOffset) {\n return anchorNode === focusNode && anchorOffset === focusOffset;\n}\n\n/**\n * Get the appropriate anchor and focus node/offset pairs for IE.\n *\n * The catch here is that IE's selection API doesn't provide information\n * about whether the selection is forward or backward, so we have to\n * behave as though it's always forward.\n *\n * IE text differs from modern selection in that it behaves as though\n * block elements end with a new line. This means character offsets will\n * differ between the two APIs.\n *\n * @param {DOMElement} node\n * @return {object}\n */\nfunction getIEOffsets(node) {\n var selection = document.selection;\n var selectedRange = selection.createRange();\n var selectedLength = selectedRange.text.length;\n\n // Duplicate selection so we can move range without breaking user selection.\n var fromStart = selectedRange.duplicate();\n fromStart.moveToElementText(node);\n fromStart.setEndPoint('EndToStart', selectedRange);\n\n var startOffset = fromStart.text.length;\n var endOffset = startOffset + selectedLength;\n\n return {\n start: startOffset,\n end: endOffset\n };\n}\n\n/**\n * @param {DOMElement} node\n * @return {?object}\n */\nfunction getModernOffsets(node) {\n var selection = window.getSelection && window.getSelection();\n\n if (!selection || selection.rangeCount === 0) {\n return null;\n }\n\n var anchorNode = selection.anchorNode;\n var anchorOffset = selection.anchorOffset;\n var focusNode = selection.focusNode;\n var focusOffset = selection.focusOffset;\n\n var currentRange = selection.getRangeAt(0);\n\n // In Firefox, range.startContainer and range.endContainer can be \"anonymous\n // divs\", e.g. the up/down buttons on an <input type=\"number\">. Anonymous\n // divs do not seem to expose properties, triggering a \"Permission denied\n // error\" if any of its properties are accessed. The only seemingly possible\n // way to avoid erroring is to access a property that typically works for\n // non-anonymous divs and catch any error that may otherwise arise. See\n // https://bugzilla.mozilla.org/show_bug.cgi?id=208427\n try {\n /* eslint-disable no-unused-expressions */\n currentRange.startContainer.nodeType;\n currentRange.endContainer.nodeType;\n /* eslint-enable no-unused-expressions */\n } catch (e) {\n return null;\n }\n\n // If the node and offset values are the same, the selection is collapsed.\n // `Selection.isCollapsed` is available natively, but IE sometimes gets\n // this value wrong.\n var isSelectionCollapsed = isCollapsed(selection.anchorNode, selection.anchorOffset, selection.focusNode, selection.focusOffset);\n\n var rangeLength = isSelectionCollapsed ? 0 : currentRange.toString().length;\n\n var tempRange = currentRange.cloneRange();\n tempRange.selectNodeContents(node);\n tempRange.setEnd(currentRange.startContainer, currentRange.startOffset);\n\n var isTempRangeCollapsed = isCollapsed(tempRange.startContainer, tempRange.startOffset, tempRange.endContainer, tempRange.endOffset);\n\n var start = isTempRangeCollapsed ? 0 : tempRange.toString().length;\n var end = start + rangeLength;\n\n // Detect whether the selection is backward.\n var detectionRange = document.createRange();\n detectionRange.setStart(anchorNode, anchorOffset);\n detectionRange.setEnd(focusNode, focusOffset);\n var isBackward = detectionRange.collapsed;\n\n return {\n start: isBackward ? end : start,\n end: isBackward ? start : end\n };\n}\n\n/**\n * @param {DOMElement|DOMTextNode} node\n * @param {object} offsets\n */\nfunction setIEOffsets(node, offsets) {\n var range = document.selection.createRange().duplicate();\n var start, end;\n\n if (offsets.end === undefined) {\n start = offsets.start;\n end = start;\n } else if (offsets.start > offsets.end) {\n start = offsets.end;\n end = offsets.start;\n } else {\n start = offsets.start;\n end = offsets.end;\n }\n\n range.moveToElementText(node);\n range.moveStart('character', start);\n range.setEndPoint('EndToStart', range);\n range.moveEnd('character', end - start);\n range.select();\n}\n\n/**\n * In modern non-IE browsers, we can support both forward and backward\n * selections.\n *\n * Note: IE10+ supports the Selection object, but it does not support\n * the `extend` method, which means that even in modern IE, it's not possible\n * to programmatically create a backward selection. Thus, for all IE\n * versions, we use the old IE API to create our selections.\n *\n * @param {DOMElement|DOMTextNode} node\n * @param {object} offsets\n */\nfunction setModernOffsets(node, offsets) {\n if (!window.getSelection) {\n return;\n }\n\n var selection = window.getSelection();\n var length = node[getTextContentAccessor()].length;\n var start = Math.min(offsets.start, length);\n var end = offsets.end === undefined ? start : Math.min(offsets.end, length);\n\n // IE 11 uses modern selection, but doesn't support the extend method.\n // Flip backward selections, so we can set with a single range.\n if (!selection.extend && start > end) {\n var temp = end;\n end = start;\n start = temp;\n }\n\n var startMarker = getNodeForCharacterOffset(node, start);\n var endMarker = getNodeForCharacterOffset(node, end);\n\n if (startMarker && endMarker) {\n var range = document.createRange();\n range.setStart(startMarker.node, startMarker.offset);\n selection.removeAllRanges();\n\n if (start > end) {\n selection.addRange(range);\n selection.extend(endMarker.node, endMarker.offset);\n } else {\n range.setEnd(endMarker.node, endMarker.offset);\n selection.addRange(range);\n }\n }\n}\n\nvar useIEOffsets = ExecutionEnvironment.canUseDOM && 'selection' in document && !('getSelection' in window);\n\nvar ReactDOMSelection = {\n /**\n * @param {DOMElement} node\n */\n getOffsets: useIEOffsets ? getIEOffsets : getModernOffsets,\n\n /**\n * @param {DOMElement|DOMTextNode} node\n * @param {object} offsets\n */\n setOffsets: useIEOffsets ? setIEOffsets : setModernOffsets\n};\n\nmodule.exports = ReactDOMSelection;","/**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n */\n\n'use strict';\n\n/**\n * Given any node return the first leaf node without children.\n *\n * @param {DOMElement|DOMTextNode} node\n * @return {DOMElement|DOMTextNode}\n */\n\nfunction getLeafNode(node) {\n while (node && node.firstChild) {\n node = node.firstChild;\n }\n return node;\n}\n\n/**\n * Get the next sibling within a container. This will walk up the\n * DOM if a node's siblings have been exhausted.\n *\n * @param {DOMElement|DOMTextNode} node\n * @return {?DOMElement|DOMTextNode}\n */\nfunction getSiblingNode(node) {\n while (node) {\n if (node.nextSibling) {\n return node.nextSibling;\n }\n node = node.parentNode;\n }\n}\n\n/**\n * Get object describing the nodes which contain characters at offset.\n *\n * @param {DOMElement|DOMTextNode} root\n * @param {number} offset\n * @return {?object}\n */\nfunction getNodeForCharacterOffset(root, offset) {\n var node = getLeafNode(root);\n var nodeStart = 0;\n var nodeEnd = 0;\n\n while (node) {\n if (node.nodeType === 3) {\n nodeEnd = nodeStart + node.textContent.length;\n\n if (nodeStart <= offset && nodeEnd >= offset) {\n return {\n node: node,\n offset: offset - nodeStart\n };\n }\n\n nodeStart = nodeEnd;\n }\n\n node = getLeafNode(getSiblingNode(node));\n }\n}\n\nmodule.exports = getNodeForCharacterOffset;","'use strict';\n\n/**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * \n */\n\nvar isTextNode = require('./isTextNode');\n\n/*eslint-disable no-bitwise */\n\n/**\n * Checks if a given DOM node contains or is another DOM node.\n */\nfunction containsNode(outerNode, innerNode) {\n if (!outerNode || !innerNode) {\n return false;\n } else if (outerNode === innerNode) {\n return true;\n } else if (isTextNode(outerNode)) {\n return false;\n } else if (isTextNode(innerNode)) {\n return containsNode(outerNode, innerNode.parentNode);\n } else if ('contains' in outerNode) {\n return outerNode.contains(innerNode);\n } else if (outerNode.compareDocumentPosition) {\n return !!(outerNode.compareDocumentPosition(innerNode) & 16);\n } else {\n return false;\n }\n}\n\nmodule.exports = containsNode;","'use strict';\n\n/**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * @typechecks\n */\n\nvar isNode = require('./isNode');\n\n/**\n * @param {*} object The object to check.\n * @return {boolean} Whether or not the object is a DOM text node.\n */\nfunction isTextNode(object) {\n return isNode(object) && object.nodeType == 3;\n}\n\nmodule.exports = isTextNode;","'use strict';\n\n/**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * @typechecks\n */\n\n/**\n * @param {*} object The object to check.\n * @return {boolean} Whether or not the object is a DOM node.\n */\nfunction isNode(object) {\n var doc = object ? object.ownerDocument || object : document;\n var defaultView = doc.defaultView || window;\n return !!(object && (typeof defaultView.Node === 'function' ? object instanceof defaultView.Node : typeof object === 'object' && typeof object.nodeType === 'number' && typeof object.nodeName === 'string'));\n}\n\nmodule.exports = isNode;","/**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n */\n\n'use strict';\n\nvar NS = {\n xlink: 'http://www.w3.org/1999/xlink',\n xml: 'http://www.w3.org/XML/1998/namespace'\n};\n\n// We use attributes for everything SVG so let's avoid some duplication and run\n// code instead.\n// The following are all specified in the HTML config already so we exclude here.\n// - class (as className)\n// - color\n// - height\n// - id\n// - lang\n// - max\n// - media\n// - method\n// - min\n// - name\n// - style\n// - target\n// - type\n// - width\nvar ATTRS = {\n accentHeight: 'accent-height',\n accumulate: 0,\n additive: 0,\n alignmentBaseline: 'alignment-baseline',\n allowReorder: 'allowReorder',\n alphabetic: 0,\n amplitude: 0,\n arabicForm: 'arabic-form',\n ascent: 0,\n attributeName: 'attributeName',\n attributeType: 'attributeType',\n autoReverse: 'autoReverse',\n azimuth: 0,\n baseFrequency: 'baseFrequency',\n baseProfile: 'baseProfile',\n baselineShift: 'baseline-shift',\n bbox: 0,\n begin: 0,\n bias: 0,\n by: 0,\n calcMode: 'calcMode',\n capHeight: 'cap-height',\n clip: 0,\n clipPath: 'clip-path',\n clipRule: 'clip-rule',\n clipPathUnits: 'clipPathUnits',\n colorInterpolation: 'color-interpolation',\n colorInterpolationFilters: 'color-interpolation-filters',\n colorProfile: 'color-profile',\n colorRendering: 'color-rendering',\n contentScriptType: 'contentScriptType',\n contentStyleType: 'contentStyleType',\n cursor: 0,\n cx: 0,\n cy: 0,\n d: 0,\n decelerate: 0,\n descent: 0,\n diffuseConstant: 'diffuseConstant',\n direction: 0,\n display: 0,\n divisor: 0,\n dominantBaseline: 'dominant-baseline',\n dur: 0,\n dx: 0,\n dy: 0,\n edgeMode: 'edgeMode',\n elevation: 0,\n enableBackground: 'enable-background',\n end: 0,\n exponent: 0,\n externalResourcesRequired: 'externalResourcesRequired',\n fill: 0,\n fillOpacity: 'fill-opacity',\n fillRule: 'fill-rule',\n filter: 0,\n filterRes: 'filterRes',\n filterUnits: 'filterUnits',\n floodColor: 'flood-color',\n floodOpacity: 'flood-opacity',\n focusable: 0,\n fontFamily: 'font-family',\n fontSize: 'font-size',\n fontSizeAdjust: 'font-size-adjust',\n fontStretch: 'font-stretch',\n fontStyle: 'font-style',\n fontVariant: 'font-variant',\n fontWeight: 'font-weight',\n format: 0,\n from: 0,\n fx: 0,\n fy: 0,\n g1: 0,\n g2: 0,\n glyphName: 'glyph-name',\n glyphOrientationHorizontal: 'glyph-orientation-horizontal',\n glyphOrientationVertical: 'glyph-orientation-vertical',\n glyphRef: 'glyphRef',\n gradientTransform: 'gradientTransform',\n gradientUnits: 'gradientUnits',\n hanging: 0,\n horizAdvX: 'horiz-adv-x',\n horizOriginX: 'horiz-origin-x',\n ideographic: 0,\n imageRendering: 'image-rendering',\n 'in': 0,\n in2: 0,\n intercept: 0,\n k: 0,\n k1: 0,\n k2: 0,\n k3: 0,\n k4: 0,\n kernelMatrix: 'kernelMatrix',\n kernelUnitLength: 'kernelUnitLength',\n kerning: 0,\n keyPoints: 'keyPoints',\n keySplines: 'keySplines',\n keyTimes: 'keyTimes',\n lengthAdjust: 'lengthAdjust',\n letterSpacing: 'letter-spacing',\n lightingColor: 'lighting-color',\n limitingConeAngle: 'limitingConeAngle',\n local: 0,\n markerEnd: 'marker-end',\n markerMid: 'marker-mid',\n markerStart: 'marker-start',\n markerHeight: 'markerHeight',\n markerUnits: 'markerUnits',\n markerWidth: 'markerWidth',\n mask: 0,\n maskContentUnits: 'maskContentUnits',\n maskUnits: 'maskUnits',\n mathematical: 0,\n mode: 0,\n numOctaves: 'numOctaves',\n offset: 0,\n opacity: 0,\n operator: 0,\n order: 0,\n orient: 0,\n orientation: 0,\n origin: 0,\n overflow: 0,\n overlinePosition: 'overline-position',\n overlineThickness: 'overline-thickness',\n paintOrder: 'paint-order',\n panose1: 'panose-1',\n pathLength: 'pathLength',\n patternContentUnits: 'patternContentUnits',\n patternTransform: 'patternTransform',\n patternUnits: 'patternUnits',\n pointerEvents: 'pointer-events',\n points: 0,\n pointsAtX: 'pointsAtX',\n pointsAtY: 'pointsAtY',\n pointsAtZ: 'pointsAtZ',\n preserveAlpha: 'preserveAlpha',\n preserveAspectRatio: 'preserveAspectRatio',\n primitiveUnits: 'primitiveUnits',\n r: 0,\n radius: 0,\n refX: 'refX',\n refY: 'refY',\n renderingIntent: 'rendering-intent',\n repeatCount: 'repeatCount',\n repeatDur: 'repeatDur',\n requiredExtensions: 'requiredExtensions',\n requiredFeatures: 'requiredFeatures',\n restart: 0,\n result: 0,\n rotate: 0,\n rx: 0,\n ry: 0,\n scale: 0,\n seed: 0,\n shapeRendering: 'shape-rendering',\n slope: 0,\n spacing: 0,\n specularConstant: 'specularConstant',\n specularExponent: 'specularExponent',\n speed: 0,\n spreadMethod: 'spreadMethod',\n startOffset: 'startOffset',\n stdDeviation: 'stdDeviation',\n stemh: 0,\n stemv: 0,\n stitchTiles: 'stitchTiles',\n stopColor: 'stop-color',\n stopOpacity: 'stop-opacity',\n strikethroughPosition: 'strikethrough-position',\n strikethroughThickness: 'strikethrough-thickness',\n string: 0,\n stroke: 0,\n strokeDasharray: 'stroke-dasharray',\n strokeDashoffset: 'stroke-dashoffset',\n strokeLinecap: 'stroke-linecap',\n strokeLinejoin: 'stroke-linejoin',\n strokeMiterlimit: 'stroke-miterlimit',\n strokeOpacity: 'stroke-opacity',\n strokeWidth: 'stroke-width',\n surfaceScale: 'surfaceScale',\n systemLanguage: 'systemLanguage',\n tableValues: 'tableValues',\n targetX: 'targetX',\n targetY: 'targetY',\n textAnchor: 'text-anchor',\n textDecoration: 'text-decoration',\n textRendering: 'text-rendering',\n textLength: 'textLength',\n to: 0,\n transform: 0,\n u1: 0,\n u2: 0,\n underlinePosition: 'underline-position',\n underlineThickness: 'underline-thickness',\n unicode: 0,\n unicodeBidi: 'unicode-bidi',\n unicodeRange: 'unicode-range',\n unitsPerEm: 'units-per-em',\n vAlphabetic: 'v-alphabetic',\n vHanging: 'v-hanging',\n vIdeographic: 'v-ideographic',\n vMathematical: 'v-mathematical',\n values: 0,\n vectorEffect: 'vector-effect',\n version: 0,\n vertAdvY: 'vert-adv-y',\n vertOriginX: 'vert-origin-x',\n vertOriginY: 'vert-origin-y',\n viewBox: 'viewBox',\n viewTarget: 'viewTarget',\n visibility: 0,\n widths: 0,\n wordSpacing: 'word-spacing',\n writingMode: 'writing-mode',\n x: 0,\n xHeight: 'x-height',\n x1: 0,\n x2: 0,\n xChannelSelector: 'xChannelSelector',\n xlinkActuate: 'xlink:actuate',\n xlinkArcrole: 'xlink:arcrole',\n xlinkHref: 'xlink:href',\n xlinkRole: 'xlink:role',\n xlinkShow: 'xlink:show',\n xlinkTitle: 'xlink:title',\n xlinkType: 'xlink:type',\n xmlBase: 'xml:base',\n xmlns: 0,\n xmlnsXlink: 'xmlns:xlink',\n xmlLang: 'xml:lang',\n xmlSpace: 'xml:space',\n y: 0,\n y1: 0,\n y2: 0,\n yChannelSelector: 'yChannelSelector',\n z: 0,\n zoomAndPan: 'zoomAndPan'\n};\n\nvar SVGDOMPropertyConfig = {\n Properties: {},\n DOMAttributeNamespaces: {\n xlinkActuate: NS.xlink,\n xlinkArcrole: NS.xlink,\n xlinkHref: NS.xlink,\n xlinkRole: NS.xlink,\n xlinkShow: NS.xlink,\n xlinkTitle: NS.xlink,\n xlinkType: NS.xlink,\n xmlBase: NS.xml,\n xmlLang: NS.xml,\n xmlSpace: NS.xml\n },\n DOMAttributeNames: {}\n};\n\nObject.keys(ATTRS).forEach(function (key) {\n SVGDOMPropertyConfig.Properties[key] = 0;\n if (ATTRS[key]) {\n SVGDOMPropertyConfig.DOMAttributeNames[key] = ATTRS[key];\n }\n});\n\nmodule.exports = SVGDOMPropertyConfig;","/**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n */\n\n'use strict';\n\nvar EventPropagators = require('./EventPropagators');\nvar ExecutionEnvironment = require('fbjs/lib/ExecutionEnvironment');\nvar ReactDOMComponentTree = require('./ReactDOMComponentTree');\nvar ReactInputSelection = require('./ReactInputSelection');\nvar SyntheticEvent = require('./SyntheticEvent');\n\nvar getActiveElement = require('fbjs/lib/getActiveElement');\nvar isTextInputElement = require('./isTextInputElement');\nvar shallowEqual = require('fbjs/lib/shallowEqual');\n\nvar skipSelectionChangeEvent = ExecutionEnvironment.canUseDOM && 'documentMode' in document && document.documentMode <= 11;\n\nvar eventTypes = {\n select: {\n phasedRegistrationNames: {\n bubbled: 'onSelect',\n captured: 'onSelectCapture'\n },\n dependencies: ['topBlur', 'topContextMenu', 'topFocus', 'topKeyDown', 'topKeyUp', 'topMouseDown', 'topMouseUp', 'topSelectionChange']\n }\n};\n\nvar activeElement = null;\nvar activeElementInst = null;\nvar lastSelection = null;\nvar mouseDown = false;\n\n// Track whether a listener exists for this plugin. If none exist, we do\n// not extract events. See #3639.\nvar hasListener = false;\n\n/**\n * Get an object which is a unique representation of the current selection.\n *\n * The return value will not be consistent across nodes or browsers, but\n * two identical selections on the same node will return identical objects.\n *\n * @param {DOMElement} node\n * @return {object}\n */\nfunction getSelection(node) {\n if ('selectionStart' in node && ReactInputSelection.hasSelectionCapabilities(node)) {\n return {\n start: node.selectionStart,\n end: node.selectionEnd\n };\n } else if (window.getSelection) {\n var selection = window.getSelection();\n return {\n anchorNode: selection.anchorNode,\n anchorOffset: selection.anchorOffset,\n focusNode: selection.focusNode,\n focusOffset: selection.focusOffset\n };\n } else if (document.selection) {\n var range = document.selection.createRange();\n return {\n parentElement: range.parentElement(),\n text: range.text,\n top: range.boundingTop,\n left: range.boundingLeft\n };\n }\n}\n\n/**\n * Poll selection to see whether it's changed.\n *\n * @param {object} nativeEvent\n * @return {?SyntheticEvent}\n */\nfunction constructSelectEvent(nativeEvent, nativeEventTarget) {\n // Ensure we have the right element, and that the user is not dragging a\n // selection (this matches native `select` event behavior). In HTML5, select\n // fires only on input and textarea thus if there's no focused element we\n // won't dispatch.\n if (mouseDown || activeElement == null || activeElement !== getActiveElement()) {\n return null;\n }\n\n // Only fire when selection has actually changed.\n var currentSelection = getSelection(activeElement);\n if (!lastSelection || !shallowEqual(lastSelection, currentSelection)) {\n lastSelection = currentSelection;\n\n var syntheticEvent = SyntheticEvent.getPooled(eventTypes.select, activeElementInst, nativeEvent, nativeEventTarget);\n\n syntheticEvent.type = 'select';\n syntheticEvent.target = activeElement;\n\n EventPropagators.accumulateTwoPhaseDispatches(syntheticEvent);\n\n return syntheticEvent;\n }\n\n return null;\n}\n\n/**\n * This plugin creates an `onSelect` event that normalizes select events\n * across form elements.\n *\n * Supported elements are:\n * - input (see `isTextInputElement`)\n * - textarea\n * - contentEditable\n *\n * This differs from native browser implementations in the following ways:\n * - Fires on contentEditable fields as well as inputs.\n * - Fires for collapsed selection.\n * - Fires after user input.\n */\nvar SelectEventPlugin = {\n eventTypes: eventTypes,\n\n extractEvents: function (topLevelType, targetInst, nativeEvent, nativeEventTarget) {\n if (!hasListener) {\n return null;\n }\n\n var targetNode = targetInst ? ReactDOMComponentTree.getNodeFromInstance(targetInst) : window;\n\n switch (topLevelType) {\n // Track the input node that has focus.\n case 'topFocus':\n if (isTextInputElement(targetNode) || targetNode.contentEditable === 'true') {\n activeElement = targetNode;\n activeElementInst = targetInst;\n lastSelection = null;\n }\n break;\n case 'topBlur':\n activeElement = null;\n activeElementInst = null;\n lastSelection = null;\n break;\n // Don't fire the event while the user is dragging. This matches the\n // semantics of the native select event.\n case 'topMouseDown':\n mouseDown = true;\n break;\n case 'topContextMenu':\n case 'topMouseUp':\n mouseDown = false;\n return constructSelectEvent(nativeEvent, nativeEventTarget);\n // Chrome and IE fire non-standard event when selection is changed (and\n // sometimes when it hasn't). IE's event fires out of order with respect\n // to key and input events on deletion, so we discard it.\n //\n // Firefox doesn't support selectionchange, so check selection status\n // after each key entry. The selection changes after keydown and before\n // keyup, but we check on keydown as well in the case of holding down a\n // key, when multiple keydown events are fired but only one keyup is.\n // This is also our approach for IE handling, for the reason above.\n case 'topSelectionChange':\n if (skipSelectionChangeEvent) {\n break;\n }\n // falls through\n case 'topKeyDown':\n case 'topKeyUp':\n return constructSelectEvent(nativeEvent, nativeEventTarget);\n }\n\n return null;\n },\n\n didPutListener: function (inst, registrationName, listener) {\n if (registrationName === 'onSelect') {\n hasListener = true;\n }\n }\n};\n\nmodule.exports = SelectEventPlugin;","/**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * \n */\n\n'use strict';\n\nvar _prodInvariant = require('./reactProdInvariant');\n\nvar EventListener = require('fbjs/lib/EventListener');\nvar EventPropagators = require('./EventPropagators');\nvar ReactDOMComponentTree = require('./ReactDOMComponentTree');\nvar SyntheticAnimationEvent = require('./SyntheticAnimationEvent');\nvar SyntheticClipboardEvent = require('./SyntheticClipboardEvent');\nvar SyntheticEvent = require('./SyntheticEvent');\nvar SyntheticFocusEvent = require('./SyntheticFocusEvent');\nvar SyntheticKeyboardEvent = require('./SyntheticKeyboardEvent');\nvar SyntheticMouseEvent = require('./SyntheticMouseEvent');\nvar SyntheticDragEvent = require('./SyntheticDragEvent');\nvar SyntheticTouchEvent = require('./SyntheticTouchEvent');\nvar SyntheticTransitionEvent = require('./SyntheticTransitionEvent');\nvar SyntheticUIEvent = require('./SyntheticUIEvent');\nvar SyntheticWheelEvent = require('./SyntheticWheelEvent');\n\nvar emptyFunction = require('fbjs/lib/emptyFunction');\nvar getEventCharCode = require('./getEventCharCode');\nvar invariant = require('fbjs/lib/invariant');\n\n/**\n * Turns\n * ['abort', ...]\n * into\n * eventTypes = {\n * 'abort': {\n * phasedRegistrationNames: {\n * bubbled: 'onAbort',\n * captured: 'onAbortCapture',\n * },\n * dependencies: ['topAbort'],\n * },\n * ...\n * };\n * topLevelEventsToDispatchConfig = {\n * 'topAbort': { sameConfig }\n * };\n */\nvar eventTypes = {};\nvar topLevelEventsToDispatchConfig = {};\n['abort', 'animationEnd', 'animationIteration', 'animationStart', 'blur', 'canPlay', 'canPlayThrough', 'click', 'contextMenu', 'copy', 'cut', 'doubleClick', 'drag', 'dragEnd', 'dragEnter', 'dragExit', 'dragLeave', 'dragOver', 'dragStart', 'drop', 'durationChange', 'emptied', 'encrypted', 'ended', 'error', 'focus', 'input', 'invalid', 'keyDown', 'keyPress', 'keyUp', 'load', 'loadedData', 'loadedMetadata', 'loadStart', 'mouseDown', 'mouseMove', 'mouseOut', 'mouseOver', 'mouseUp', 'paste', 'pause', 'play', 'playing', 'progress', 'rateChange', 'reset', 'scroll', 'seeked', 'seeking', 'stalled', 'submit', 'suspend', 'timeUpdate', 'touchCancel', 'touchEnd', 'touchMove', 'touchStart', 'transitionEnd', 'volumeChange', 'waiting', 'wheel'].forEach(function (event) {\n var capitalizedEvent = event[0].toUpperCase() + event.slice(1);\n var onEvent = 'on' + capitalizedEvent;\n var topEvent = 'top' + capitalizedEvent;\n\n var type = {\n phasedRegistrationNames: {\n bubbled: onEvent,\n captured: onEvent + 'Capture'\n },\n dependencies: [topEvent]\n };\n eventTypes[event] = type;\n topLevelEventsToDispatchConfig[topEvent] = type;\n});\n\nvar onClickListeners = {};\n\nfunction getDictionaryKey(inst) {\n // Prevents V8 performance issue:\n // https://github.com/facebook/react/pull/7232\n return '.' + inst._rootNodeID;\n}\n\nfunction isInteractive(tag) {\n return tag === 'button' || tag === 'input' || tag === 'select' || tag === 'textarea';\n}\n\nvar SimpleEventPlugin = {\n eventTypes: eventTypes,\n\n extractEvents: function (topLevelType, targetInst, nativeEvent, nativeEventTarget) {\n var dispatchConfig = topLevelEventsToDispatchConfig[topLevelType];\n if (!dispatchConfig) {\n return null;\n }\n var EventConstructor;\n switch (topLevelType) {\n case 'topAbort':\n case 'topCanPlay':\n case 'topCanPlayThrough':\n case 'topDurationChange':\n case 'topEmptied':\n case 'topEncrypted':\n case 'topEnded':\n case 'topError':\n case 'topInput':\n case 'topInvalid':\n case 'topLoad':\n case 'topLoadedData':\n case 'topLoadedMetadata':\n case 'topLoadStart':\n case 'topPause':\n case 'topPlay':\n case 'topPlaying':\n case 'topProgress':\n case 'topRateChange':\n case 'topReset':\n case 'topSeeked':\n case 'topSeeking':\n case 'topStalled':\n case 'topSubmit':\n case 'topSuspend':\n case 'topTimeUpdate':\n case 'topVolumeChange':\n case 'topWaiting':\n // HTML Events\n // @see http://www.w3.org/TR/html5/index.html#events-0\n EventConstructor = SyntheticEvent;\n break;\n case 'topKeyPress':\n // Firefox creates a keypress event for function keys too. This removes\n // the unwanted keypress events. Enter is however both printable and\n // non-printable. One would expect Tab to be as well (but it isn't).\n if (getEventCharCode(nativeEvent) === 0) {\n return null;\n }\n /* falls through */\n case 'topKeyDown':\n case 'topKeyUp':\n EventConstructor = SyntheticKeyboardEvent;\n break;\n case 'topBlur':\n case 'topFocus':\n EventConstructor = SyntheticFocusEvent;\n break;\n case 'topClick':\n // Firefox creates a click event on right mouse clicks. This removes the\n // unwanted click events.\n if (nativeEvent.button === 2) {\n return null;\n }\n /* falls through */\n case 'topDoubleClick':\n case 'topMouseDown':\n case 'topMouseMove':\n case 'topMouseUp':\n // TODO: Disabled elements should not respond to mouse events\n /* falls through */\n case 'topMouseOut':\n case 'topMouseOver':\n case 'topContextMenu':\n EventConstructor = SyntheticMouseEvent;\n break;\n case 'topDrag':\n case 'topDragEnd':\n case 'topDragEnter':\n case 'topDragExit':\n case 'topDragLeave':\n case 'topDragOver':\n case 'topDragStart':\n case 'topDrop':\n EventConstructor = SyntheticDragEvent;\n break;\n case 'topTouchCancel':\n case 'topTouchEnd':\n case 'topTouchMove':\n case 'topTouchStart':\n EventConstructor = SyntheticTouchEvent;\n break;\n case 'topAnimationEnd':\n case 'topAnimationIteration':\n case 'topAnimationStart':\n EventConstructor = SyntheticAnimationEvent;\n break;\n case 'topTransitionEnd':\n EventConstructor = SyntheticTransitionEvent;\n break;\n case 'topScroll':\n EventConstructor = SyntheticUIEvent;\n break;\n case 'topWheel':\n EventConstructor = SyntheticWheelEvent;\n break;\n case 'topCopy':\n case 'topCut':\n case 'topPaste':\n EventConstructor = SyntheticClipboardEvent;\n break;\n }\n !EventConstructor ? process.env.NODE_ENV !== 'production' ? invariant(false, 'SimpleEventPlugin: Unhandled event type, `%s`.', topLevelType) : _prodInvariant('86', topLevelType) : void 0;\n var event = EventConstructor.getPooled(dispatchConfig, targetInst, nativeEvent, nativeEventTarget);\n EventPropagators.accumulateTwoPhaseDispatches(event);\n return event;\n },\n\n didPutListener: function (inst, registrationName, listener) {\n // Mobile Safari does not fire properly bubble click events on\n // non-interactive elements, which means delegated click listeners do not\n // fire. The workaround for this bug involves attaching an empty click\n // listener on the target node.\n // http://www.quirksmode.org/blog/archives/2010/09/click_event_del.html\n if (registrationName === 'onClick' && !isInteractive(inst._tag)) {\n var key = getDictionaryKey(inst);\n var node = ReactDOMComponentTree.getNodeFromInstance(inst);\n if (!onClickListeners[key]) {\n onClickListeners[key] = EventListener.listen(node, 'click', emptyFunction);\n }\n }\n },\n\n willDeleteListener: function (inst, registrationName) {\n if (registrationName === 'onClick' && !isInteractive(inst._tag)) {\n var key = getDictionaryKey(inst);\n onClickListeners[key].remove();\n delete onClickListeners[key];\n }\n }\n};\n\nmodule.exports = SimpleEventPlugin;","/**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n */\n\n'use strict';\n\nvar SyntheticEvent = require('./SyntheticEvent');\n\n/**\n * @interface Event\n * @see http://www.w3.org/TR/css3-animations/#AnimationEvent-interface\n * @see https://developer.mozilla.org/en-US/docs/Web/API/AnimationEvent\n */\nvar AnimationEventInterface = {\n animationName: null,\n elapsedTime: null,\n pseudoElement: null\n};\n\n/**\n * @param {object} dispatchConfig Configuration used to dispatch this event.\n * @param {string} dispatchMarker Marker identifying the event target.\n * @param {object} nativeEvent Native browser event.\n * @extends {SyntheticEvent}\n */\nfunction SyntheticAnimationEvent(dispatchConfig, dispatchMarker, nativeEvent, nativeEventTarget) {\n return SyntheticEvent.call(this, dispatchConfig, dispatchMarker, nativeEvent, nativeEventTarget);\n}\n\nSyntheticEvent.augmentClass(SyntheticAnimationEvent, AnimationEventInterface);\n\nmodule.exports = SyntheticAnimationEvent;","/**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n */\n\n'use strict';\n\nvar SyntheticEvent = require('./SyntheticEvent');\n\n/**\n * @interface Event\n * @see http://www.w3.org/TR/clipboard-apis/\n */\nvar ClipboardEventInterface = {\n clipboardData: function (event) {\n return 'clipboardData' in event ? event.clipboardData : window.clipboardData;\n }\n};\n\n/**\n * @param {object} dispatchConfig Configuration used to dispatch this event.\n * @param {string} dispatchMarker Marker identifying the event target.\n * @param {object} nativeEvent Native browser event.\n * @extends {SyntheticUIEvent}\n */\nfunction SyntheticClipboardEvent(dispatchConfig, dispatchMarker, nativeEvent, nativeEventTarget) {\n return SyntheticEvent.call(this, dispatchConfig, dispatchMarker, nativeEvent, nativeEventTarget);\n}\n\nSyntheticEvent.augmentClass(SyntheticClipboardEvent, ClipboardEventInterface);\n\nmodule.exports = SyntheticClipboardEvent;","/**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n */\n\n'use strict';\n\nvar SyntheticUIEvent = require('./SyntheticUIEvent');\n\n/**\n * @interface FocusEvent\n * @see http://www.w3.org/TR/DOM-Level-3-Events/\n */\nvar FocusEventInterface = {\n relatedTarget: null\n};\n\n/**\n * @param {object} dispatchConfig Configuration used to dispatch this event.\n * @param {string} dispatchMarker Marker identifying the event target.\n * @param {object} nativeEvent Native browser event.\n * @extends {SyntheticUIEvent}\n */\nfunction SyntheticFocusEvent(dispatchConfig, dispatchMarker, nativeEvent, nativeEventTarget) {\n return SyntheticUIEvent.call(this, dispatchConfig, dispatchMarker, nativeEvent, nativeEventTarget);\n}\n\nSyntheticUIEvent.augmentClass(SyntheticFocusEvent, FocusEventInterface);\n\nmodule.exports = SyntheticFocusEvent;","/**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n */\n\n'use strict';\n\nvar SyntheticUIEvent = require('./SyntheticUIEvent');\n\nvar getEventCharCode = require('./getEventCharCode');\nvar getEventKey = require('./getEventKey');\nvar getEventModifierState = require('./getEventModifierState');\n\n/**\n * @interface KeyboardEvent\n * @see http://www.w3.org/TR/DOM-Level-3-Events/\n */\nvar KeyboardEventInterface = {\n key: getEventKey,\n location: null,\n ctrlKey: null,\n shiftKey: null,\n altKey: null,\n metaKey: null,\n repeat: null,\n locale: null,\n getModifierState: getEventModifierState,\n // Legacy Interface\n charCode: function (event) {\n // `charCode` is the result of a KeyPress event and represents the value of\n // the actual printable character.\n\n // KeyPress is deprecated, but its replacement is not yet final and not\n // implemented in any major browser. Only KeyPress has charCode.\n if (event.type === 'keypress') {\n return getEventCharCode(event);\n }\n return 0;\n },\n keyCode: function (event) {\n // `keyCode` is the result of a KeyDown/Up event and represents the value of\n // physical keyboard key.\n\n // The actual meaning of the value depends on the users' keyboard layout\n // which cannot be detected. Assuming that it is a US keyboard layout\n // provides a surprisingly accurate mapping for US and European users.\n // Due to this, it is left to the user to implement at this time.\n if (event.type === 'keydown' || event.type === 'keyup') {\n return event.keyCode;\n }\n return 0;\n },\n which: function (event) {\n // `which` is an alias for either `keyCode` or `charCode` depending on the\n // type of the event.\n if (event.type === 'keypress') {\n return getEventCharCode(event);\n }\n if (event.type === 'keydown' || event.type === 'keyup') {\n return event.keyCode;\n }\n return 0;\n }\n};\n\n/**\n * @param {object} dispatchConfig Configuration used to dispatch this event.\n * @param {string} dispatchMarker Marker identifying the event target.\n * @param {object} nativeEvent Native browser event.\n * @extends {SyntheticUIEvent}\n */\nfunction SyntheticKeyboardEvent(dispatchConfig, dispatchMarker, nativeEvent, nativeEventTarget) {\n return SyntheticUIEvent.call(this, dispatchConfig, dispatchMarker, nativeEvent, nativeEventTarget);\n}\n\nSyntheticUIEvent.augmentClass(SyntheticKeyboardEvent, KeyboardEventInterface);\n\nmodule.exports = SyntheticKeyboardEvent;","/**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n */\n\n'use strict';\n\nvar getEventCharCode = require('./getEventCharCode');\n\n/**\n * Normalization of deprecated HTML5 `key` values\n * @see https://developer.mozilla.org/en-US/docs/Web/API/KeyboardEvent#Key_names\n */\nvar normalizeKey = {\n Esc: 'Escape',\n Spacebar: ' ',\n Left: 'ArrowLeft',\n Up: 'ArrowUp',\n Right: 'ArrowRight',\n Down: 'ArrowDown',\n Del: 'Delete',\n Win: 'OS',\n Menu: 'ContextMenu',\n Apps: 'ContextMenu',\n Scroll: 'ScrollLock',\n MozPrintableKey: 'Unidentified'\n};\n\n/**\n * Translation from legacy `keyCode` to HTML5 `key`\n * Only special keys supported, all others depend on keyboard layout or browser\n * @see https://developer.mozilla.org/en-US/docs/Web/API/KeyboardEvent#Key_names\n */\nvar translateToKey = {\n 8: 'Backspace',\n 9: 'Tab',\n 12: 'Clear',\n 13: 'Enter',\n 16: 'Shift',\n 17: 'Control',\n 18: 'Alt',\n 19: 'Pause',\n 20: 'CapsLock',\n 27: 'Escape',\n 32: ' ',\n 33: 'PageUp',\n 34: 'PageDown',\n 35: 'End',\n 36: 'Home',\n 37: 'ArrowLeft',\n 38: 'ArrowUp',\n 39: 'ArrowRight',\n 40: 'ArrowDown',\n 45: 'Insert',\n 46: 'Delete',\n 112: 'F1',\n 113: 'F2',\n 114: 'F3',\n 115: 'F4',\n 116: 'F5',\n 117: 'F6',\n 118: 'F7',\n 119: 'F8',\n 120: 'F9',\n 121: 'F10',\n 122: 'F11',\n 123: 'F12',\n 144: 'NumLock',\n 145: 'ScrollLock',\n 224: 'Meta'\n};\n\n/**\n * @param {object} nativeEvent Native browser event.\n * @return {string} Normalized `key` property.\n */\nfunction getEventKey(nativeEvent) {\n if (nativeEvent.key) {\n // Normalize inconsistent values reported by browsers due to\n // implementations of a working draft specification.\n\n // FireFox implements `key` but returns `MozPrintableKey` for all\n // printable characters (normalized to `Unidentified`), ignore it.\n var key = normalizeKey[nativeEvent.key] || nativeEvent.key;\n if (key !== 'Unidentified') {\n return key;\n }\n }\n\n // Browser does not implement `key`, polyfill as much of it as we can.\n if (nativeEvent.type === 'keypress') {\n var charCode = getEventCharCode(nativeEvent);\n\n // The enter-key is technically both printable and non-printable and can\n // thus be captured by `keypress`, no other non-printable key should.\n return charCode === 13 ? 'Enter' : String.fromCharCode(charCode);\n }\n if (nativeEvent.type === 'keydown' || nativeEvent.type === 'keyup') {\n // While user keyboard layout determines the actual meaning of each\n // `keyCode` value, almost all function keys have a universal value.\n return translateToKey[nativeEvent.keyCode] || 'Unidentified';\n }\n return '';\n}\n\nmodule.exports = getEventKey;","/**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n */\n\n'use strict';\n\nvar SyntheticMouseEvent = require('./SyntheticMouseEvent');\n\n/**\n * @interface DragEvent\n * @see http://www.w3.org/TR/DOM-Level-3-Events/\n */\nvar DragEventInterface = {\n dataTransfer: null\n};\n\n/**\n * @param {object} dispatchConfig Configuration used to dispatch this event.\n * @param {string} dispatchMarker Marker identifying the event target.\n * @param {object} nativeEvent Native browser event.\n * @extends {SyntheticUIEvent}\n */\nfunction SyntheticDragEvent(dispatchConfig, dispatchMarker, nativeEvent, nativeEventTarget) {\n return SyntheticMouseEvent.call(this, dispatchConfig, dispatchMarker, nativeEvent, nativeEventTarget);\n}\n\nSyntheticMouseEvent.augmentClass(SyntheticDragEvent, DragEventInterface);\n\nmodule.exports = SyntheticDragEvent;","/**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n */\n\n'use strict';\n\nvar SyntheticUIEvent = require('./SyntheticUIEvent');\n\nvar getEventModifierState = require('./getEventModifierState');\n\n/**\n * @interface TouchEvent\n * @see http://www.w3.org/TR/touch-events/\n */\nvar TouchEventInterface = {\n touches: null,\n targetTouches: null,\n changedTouches: null,\n altKey: null,\n metaKey: null,\n ctrlKey: null,\n shiftKey: null,\n getModifierState: getEventModifierState\n};\n\n/**\n * @param {object} dispatchConfig Configuration used to dispatch this event.\n * @param {string} dispatchMarker Marker identifying the event target.\n * @param {object} nativeEvent Native browser event.\n * @extends {SyntheticUIEvent}\n */\nfunction SyntheticTouchEvent(dispatchConfig, dispatchMarker, nativeEvent, nativeEventTarget) {\n return SyntheticUIEvent.call(this, dispatchConfig, dispatchMarker, nativeEvent, nativeEventTarget);\n}\n\nSyntheticUIEvent.augmentClass(SyntheticTouchEvent, TouchEventInterface);\n\nmodule.exports = SyntheticTouchEvent;","/**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n */\n\n'use strict';\n\nvar SyntheticEvent = require('./SyntheticEvent');\n\n/**\n * @interface Event\n * @see http://www.w3.org/TR/2009/WD-css3-transitions-20090320/#transition-events-\n * @see https://developer.mozilla.org/en-US/docs/Web/API/TransitionEvent\n */\nvar TransitionEventInterface = {\n propertyName: null,\n elapsedTime: null,\n pseudoElement: null\n};\n\n/**\n * @param {object} dispatchConfig Configuration used to dispatch this event.\n * @param {string} dispatchMarker Marker identifying the event target.\n * @param {object} nativeEvent Native browser event.\n * @extends {SyntheticEvent}\n */\nfunction SyntheticTransitionEvent(dispatchConfig, dispatchMarker, nativeEvent, nativeEventTarget) {\n return SyntheticEvent.call(this, dispatchConfig, dispatchMarker, nativeEvent, nativeEventTarget);\n}\n\nSyntheticEvent.augmentClass(SyntheticTransitionEvent, TransitionEventInterface);\n\nmodule.exports = SyntheticTransitionEvent;","/**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n */\n\n'use strict';\n\nvar SyntheticMouseEvent = require('./SyntheticMouseEvent');\n\n/**\n * @interface WheelEvent\n * @see http://www.w3.org/TR/DOM-Level-3-Events/\n */\nvar WheelEventInterface = {\n deltaX: function (event) {\n return 'deltaX' in event ? event.deltaX : // Fallback to `wheelDeltaX` for Webkit and normalize (right is positive).\n 'wheelDeltaX' in event ? -event.wheelDeltaX : 0;\n },\n deltaY: function (event) {\n return 'deltaY' in event ? event.deltaY : // Fallback to `wheelDeltaY` for Webkit and normalize (down is positive).\n 'wheelDeltaY' in event ? -event.wheelDeltaY : // Fallback to `wheelDelta` for IE<9 and normalize (down is positive).\n 'wheelDelta' in event ? -event.wheelDelta : 0;\n },\n deltaZ: null,\n\n // Browsers without \"deltaMode\" is reporting in raw wheel delta where one\n // notch on the scroll is always +/- 120, roughly equivalent to pixels.\n // A good approximation of DOM_DELTA_LINE (1) is 5% of viewport size or\n // ~40 pixels, for DOM_DELTA_SCREEN (2) it is 87.5% of viewport size.\n deltaMode: null\n};\n\n/**\n * @param {object} dispatchConfig Configuration used to dispatch this event.\n * @param {string} dispatchMarker Marker identifying the event target.\n * @param {object} nativeEvent Native browser event.\n * @extends {SyntheticMouseEvent}\n */\nfunction SyntheticWheelEvent(dispatchConfig, dispatchMarker, nativeEvent, nativeEventTarget) {\n return SyntheticMouseEvent.call(this, dispatchConfig, dispatchMarker, nativeEvent, nativeEventTarget);\n}\n\nSyntheticMouseEvent.augmentClass(SyntheticWheelEvent, WheelEventInterface);\n\nmodule.exports = SyntheticWheelEvent;","/**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n */\n\n'use strict';\n\nvar validateDOMNesting = require('./validateDOMNesting');\n\nvar DOC_NODE_TYPE = 9;\n\nfunction ReactDOMContainerInfo(topLevelWrapper, node) {\n var info = {\n _topLevelWrapper: topLevelWrapper,\n _idCounter: 1,\n _ownerDocument: node ? node.nodeType === DOC_NODE_TYPE ? node : node.ownerDocument : null,\n _node: node,\n _tag: node ? node.nodeName.toLowerCase() : null,\n _namespaceURI: node ? node.namespaceURI : null\n };\n if (process.env.NODE_ENV !== 'production') {\n info._ancestorInfo = node ? validateDOMNesting.updatedAncestorInfo(null, info._tag, null) : null;\n }\n return info;\n}\n\nmodule.exports = ReactDOMContainerInfo;","/**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n */\n\n'use strict';\n\nvar ReactDOMFeatureFlags = {\n useCreateElement: true,\n useFiber: false\n};\n\nmodule.exports = ReactDOMFeatureFlags;","/**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n */\n\n'use strict';\n\nvar adler32 = require('./adler32');\n\nvar TAG_END = /\\/?>/;\nvar COMMENT_START = /^<\\!\\-\\-/;\n\nvar ReactMarkupChecksum = {\n CHECKSUM_ATTR_NAME: 'data-react-checksum',\n\n /**\n * @param {string} markup Markup string\n * @return {string} Markup string with checksum attribute attached\n */\n addChecksumToMarkup: function (markup) {\n var checksum = adler32(markup);\n\n // Add checksum (handle both parent tags, comments and self-closing tags)\n if (COMMENT_START.test(markup)) {\n return markup;\n } else {\n return markup.replace(TAG_END, ' ' + ReactMarkupChecksum.CHECKSUM_ATTR_NAME + '=\"' + checksum + '\"$&');\n }\n },\n\n /**\n * @param {string} markup to use\n * @param {DOMElement} element root React element\n * @returns {boolean} whether or not the markup is the same\n */\n canReuseMarkup: function (markup, element) {\n var existingChecksum = element.getAttribute(ReactMarkupChecksum.CHECKSUM_ATTR_NAME);\n existingChecksum = existingChecksum && parseInt(existingChecksum, 10);\n var markupChecksum = adler32(markup);\n return markupChecksum === existingChecksum;\n }\n};\n\nmodule.exports = ReactMarkupChecksum;","/**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * \n */\n\n'use strict';\n\nvar MOD = 65521;\n\n// adler32 is not cryptographically strong, and is only used to sanity check that\n// markup generated on the server matches the markup generated on the client.\n// This implementation (a modified version of the SheetJS version) has been optimized\n// for our use case, at the expense of conforming to the adler32 specification\n// for non-ascii inputs.\nfunction adler32(data) {\n var a = 1;\n var b = 0;\n var i = 0;\n var l = data.length;\n var m = l & ~0x3;\n while (i < m) {\n var n = Math.min(i + 4096, m);\n for (; i < n; i += 4) {\n b += (a += data.charCodeAt(i)) + (a += data.charCodeAt(i + 1)) + (a += data.charCodeAt(i + 2)) + (a += data.charCodeAt(i + 3));\n }\n a %= MOD;\n b %= MOD;\n }\n for (; i < l; i++) {\n b += a += data.charCodeAt(i);\n }\n a %= MOD;\n b %= MOD;\n return a | b << 16;\n}\n\nmodule.exports = adler32;","/**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n */\n\n'use strict';\n\nmodule.exports = '15.6.2';","/**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n */\n\n'use strict';\n\nvar _prodInvariant = require('./reactProdInvariant');\n\nvar ReactCurrentOwner = require('react/lib/ReactCurrentOwner');\nvar ReactDOMComponentTree = require('./ReactDOMComponentTree');\nvar ReactInstanceMap = require('./ReactInstanceMap');\n\nvar getHostComponentFromComposite = require('./getHostComponentFromComposite');\nvar invariant = require('fbjs/lib/invariant');\nvar warning = require('fbjs/lib/warning');\n\n/**\n * Returns the DOM node rendered by this element.\n *\n * See https://facebook.github.io/react/docs/top-level-api.html#reactdom.finddomnode\n *\n * @param {ReactComponent|DOMElement} componentOrElement\n * @return {?DOMElement} The root node of this element.\n */\nfunction findDOMNode(componentOrElement) {\n if (process.env.NODE_ENV !== 'production') {\n var owner = ReactCurrentOwner.current;\n if (owner !== null) {\n process.env.NODE_ENV !== 'production' ? warning(owner._warnedAboutRefsInRender, '%s is accessing findDOMNode inside its render(). ' + 'render() should be a pure function of props and state. It should ' + 'never access something that requires stale data from the previous ' + 'render, such as refs. Move this logic to componentDidMount and ' + 'componentDidUpdate instead.', owner.getName() || 'A component') : void 0;\n owner._warnedAboutRefsInRender = true;\n }\n }\n if (componentOrElement == null) {\n return null;\n }\n if (componentOrElement.nodeType === 1) {\n return componentOrElement;\n }\n\n var inst = ReactInstanceMap.get(componentOrElement);\n if (inst) {\n inst = getHostComponentFromComposite(inst);\n return inst ? ReactDOMComponentTree.getNodeFromInstance(inst) : null;\n }\n\n if (typeof componentOrElement.render === 'function') {\n !false ? process.env.NODE_ENV !== 'production' ? invariant(false, 'findDOMNode was called on an unmounted component.') : _prodInvariant('44') : void 0;\n } else {\n !false ? process.env.NODE_ENV !== 'production' ? invariant(false, 'Element appears to be neither ReactComponent nor DOMNode (keys: %s)', Object.keys(componentOrElement)) : _prodInvariant('45', Object.keys(componentOrElement)) : void 0;\n }\n}\n\nmodule.exports = findDOMNode;","/**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n */\n\n'use strict';\n\nvar ReactMount = require('./ReactMount');\n\nmodule.exports = ReactMount.renderSubtreeIntoContainer;","require('../../modules/es6.object.keys');\nmodule.exports = require('../../modules/_core').Object.keys;\n","// 19.1.2.14 Object.keys(O)\nvar toObject = require('./_to-object');\nvar $keys = require('./_object-keys');\n\nrequire('./_object-sap')('keys', function () {\n return function keys(it) {\n return $keys(toObject(it));\n };\n});\n","var has = require('./_has');\nvar toIObject = require('./_to-iobject');\nvar arrayIndexOf = require('./_array-includes')(false);\nvar IE_PROTO = require('./_shared-key')('IE_PROTO');\n\nmodule.exports = function (object, names) {\n var O = toIObject(object);\n var i = 0;\n var result = [];\n var key;\n for (key in O) if (key != IE_PROTO) has(O, key) && result.push(key);\n // Don't enum bug & hidden keys\n while (names.length > i) if (has(O, key = names[i++])) {\n ~arrayIndexOf(result, key) || result.push(key);\n }\n return result;\n};\n","// false -> Array#indexOf\n// true -> Array#includes\nvar toIObject = require('./_to-iobject');\nvar toLength = require('./_to-length');\nvar toAbsoluteIndex = require('./_to-absolute-index');\nmodule.exports = function (IS_INCLUDES) {\n return function ($this, el, fromIndex) {\n var O = toIObject($this);\n var length = toLength(O.length);\n var index = toAbsoluteIndex(fromIndex, length);\n var value;\n // Array#includes uses SameValueZero equality algorithm\n // eslint-disable-next-line no-self-compare\n if (IS_INCLUDES && el != el) while (length > index) {\n value = O[index++];\n // eslint-disable-next-line no-self-compare\n if (value != value) return true;\n // Array#indexOf ignores holes, Array#includes - not\n } else for (;length > index; index++) if (IS_INCLUDES || index in O) {\n if (O[index] === el) return IS_INCLUDES || index || 0;\n } return !IS_INCLUDES && -1;\n };\n};\n","var toInteger = require('./_to-integer');\nvar max = Math.max;\nvar min = Math.min;\nmodule.exports = function (index, length) {\n index = toInteger(index);\n return index < 0 ? max(index + length, 0) : min(index, length);\n};\n","// most Object methods by ES6 should accept primitives\nvar $export = require('./_export');\nvar core = require('./_core');\nvar fails = require('./_fails');\nmodule.exports = function (KEY, exec) {\n var fn = (core.Object || {})[KEY] || Object[KEY];\n var exp = {};\n exp[KEY] = exec(fn);\n $export($export.S + $export.F * fails(function () { fn(1); }), 'Object', exp);\n};\n","module.exports = function (it) {\n if (typeof it != 'function') throw TypeError(it + ' is not a function!');\n return it;\n};\n","require('../../modules/es6.object.create');\nvar $Object = require('../../modules/_core').Object;\nmodule.exports = function create(P, D) {\n return $Object.create(P, D);\n};\n","var $export = require('./_export');\n// 19.1.2.2 / 15.2.3.5 Object.create(O [, Properties])\n$export($export.S, 'Object', { create: require('./_object-create') });\n","var dP = require('./_object-dp');\nvar anObject = require('./_an-object');\nvar getKeys = require('./_object-keys');\n\nmodule.exports = require('./_descriptors') ? Object.defineProperties : function defineProperties(O, Properties) {\n anObject(O);\n var keys = getKeys(Properties);\n var length = keys.length;\n var i = 0;\n var P;\n while (length > i) dP.f(O, P = keys[i++], Properties[P]);\n return O;\n};\n","var document = require('./_global').document;\nmodule.exports = document && document.documentElement;\n","require('../../modules/es6.object.set-prototype-of');\nmodule.exports = require('../../modules/_core').Object.setPrototypeOf;\n","// 19.1.3.19 Object.setPrototypeOf(O, proto)\nvar $export = require('./_export');\n$export($export.S, 'Object', { setPrototypeOf: require('./_set-proto').set });\n","// Works with __proto__ only. Old v8 can't work with null proto objects.\n/* eslint-disable no-proto */\nvar isObject = require('./_is-object');\nvar anObject = require('./_an-object');\nvar check = function (O, proto) {\n anObject(O);\n if (!isObject(proto) && proto !== null) throw TypeError(proto + \": can't set as prototype!\");\n};\nmodule.exports = {\n set: Object.setPrototypeOf || ('__proto__' in {} ? // eslint-disable-line\n function (test, buggy, set) {\n try {\n set = require('./_ctx')(Function.call, require('./_object-gopd').f(Object.prototype, '__proto__').set, 2);\n set(test, []);\n buggy = !(test instanceof Array);\n } catch (e) { buggy = true; }\n return function setPrototypeOf(O, proto) {\n check(O, proto);\n if (buggy) O.__proto__ = proto;\n else set(O, proto);\n return O;\n };\n }({}, false) : undefined),\n check: check\n};\n","var pIE = require('./_object-pie');\nvar createDesc = require('./_property-desc');\nvar toIObject = require('./_to-iobject');\nvar toPrimitive = require('./_to-primitive');\nvar has = require('./_has');\nvar IE8_DOM_DEFINE = require('./_ie8-dom-define');\nvar gOPD = Object.getOwnPropertyDescriptor;\n\nexports.f = require('./_descriptors') ? gOPD : function getOwnPropertyDescriptor(O, P) {\n O = toIObject(O);\n P = toPrimitive(P, true);\n if (IE8_DOM_DEFINE) try {\n return gOPD(O, P);\n } catch (e) { /* empty */ }\n if (has(O, P)) return createDesc(!pIE.f.call(O, P), O[P]);\n};\n","require('../../modules/es6.object.assign');\nmodule.exports = require('../../modules/_core').Object.assign;\n","// 19.1.3.1 Object.assign(target, source)\nvar $export = require('./_export');\n\n$export($export.S + $export.F, 'Object', { assign: require('./_object-assign') });\n","'use strict';\n// 19.1.2.1 Object.assign(target, source, ...)\nvar DESCRIPTORS = require('./_descriptors');\nvar getKeys = require('./_object-keys');\nvar gOPS = require('./_object-gops');\nvar pIE = require('./_object-pie');\nvar toObject = require('./_to-object');\nvar IObject = require('./_iobject');\nvar $assign = Object.assign;\n\n// should work with symbols and should have deterministic property order (V8 bug)\nmodule.exports = !$assign || require('./_fails')(function () {\n var A = {};\n var B = {};\n // eslint-disable-next-line no-undef\n var S = Symbol();\n var K = 'abcdefghijklmnopqrst';\n A[S] = 7;\n K.split('').forEach(function (k) { B[k] = k; });\n return $assign({}, A)[S] != 7 || Object.keys($assign({}, B)).join('') != K;\n}) ? function assign(target, source) { // eslint-disable-line no-unused-vars\n var T = toObject(target);\n var aLen = arguments.length;\n var index = 1;\n var getSymbols = gOPS.f;\n var isEnum = pIE.f;\n while (aLen > index) {\n var S = IObject(arguments[index++]);\n var keys = getSymbols ? getKeys(S).concat(getSymbols(S)) : getKeys(S);\n var length = keys.length;\n var j = 0;\n var key;\n while (length > j) {\n key = keys[j++];\n if (!DESCRIPTORS || isEnum.call(S, key)) T[key] = S[key];\n }\n } return T;\n} : $assign;\n","exports.f = Object.getOwnPropertySymbols;\n","\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\n\nexports.__esModule = true;\nexports.default = filterEvents;\n\nvar _contains = _interopRequireDefault(require(\"../query/contains\"));\n\nvar _querySelectorAll = _interopRequireDefault(require(\"../query/querySelectorAll\"));\n\nfunction filterEvents(selector, handler) {\n return function filterHandler(e) {\n var top = e.currentTarget,\n target = e.target,\n matches = (0, _querySelectorAll.default)(top, selector);\n if (matches.some(function (match) {\n return (0, _contains.default)(match, target);\n })) handler.call(this, e);\n };\n}\n\nmodule.exports = exports[\"default\"];","\"use strict\";\n\nexports.__esModule = true;\nexports.default = qsa;\n// Zepto.js\n// (c) 2010-2015 Thomas Fuchs\n// Zepto.js may be freely distributed under the MIT license.\nvar simpleSelectorRE = /^[\\w-]*$/;\nvar toArray = Function.prototype.bind.call(Function.prototype.call, [].slice);\n\nfunction qsa(element, selector) {\n var maybeID = selector[0] === '#',\n maybeClass = selector[0] === '.',\n nameOnly = maybeID || maybeClass ? selector.slice(1) : selector,\n isSimple = simpleSelectorRE.test(nameOnly),\n found;\n\n if (isSimple) {\n if (maybeID) {\n element = element.getElementById ? element : document;\n return (found = element.getElementById(nameOnly)) ? [found] : [];\n }\n\n if (element.getElementsByClassName && maybeClass) return toArray(element.getElementsByClassName(nameOnly));\n return toArray(element.getElementsByTagName(selector));\n }\n\n return toArray(element.querySelectorAll(selector));\n}\n\nmodule.exports = exports[\"default\"];","\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\n\nexports.__esModule = true;\nexports.default = void 0;\n\nvar _inDOM = _interopRequireDefault(require(\"../util/inDOM\"));\n\nvar _on = _interopRequireDefault(require(\"./on\"));\n\nvar _off = _interopRequireDefault(require(\"./off\"));\n\nvar listen = function listen() {};\n\nif (_inDOM.default) {\n listen = function listen(node, eventName, handler, capture) {\n (0, _on.default)(node, eventName, handler, capture);\n return function () {\n (0, _off.default)(node, eventName, handler, capture);\n };\n };\n}\n\nvar _default = listen;\nexports.default = _default;\nmodule.exports = exports[\"default\"];","/**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n'use strict';\n\nvar ReactPropTypesSecret = require('./lib/ReactPropTypesSecret');\n\nfunction emptyFunction() {}\nfunction emptyFunctionWithReset() {}\nemptyFunctionWithReset.resetWarningCache = emptyFunction;\n\nmodule.exports = function() {\n function shim(props, propName, componentName, location, propFullName, secret) {\n if (secret === ReactPropTypesSecret) {\n // It is still safe when called from React.\n return;\n }\n var err = new Error(\n 'Calling PropTypes validators directly is not supported by the `prop-types` package. ' +\n 'Use PropTypes.checkPropTypes() to call them. ' +\n 'Read more at http://fb.me/use-check-prop-types'\n );\n err.name = 'Invariant Violation';\n throw err;\n };\n shim.isRequired = shim;\n function getShim() {\n return shim;\n };\n // Important!\n // Keep this list in sync with production version in `./factoryWithTypeCheckers.js`.\n var ReactPropTypes = {\n array: shim,\n bigint: shim,\n bool: shim,\n func: shim,\n number: shim,\n object: shim,\n string: shim,\n symbol: shim,\n\n any: shim,\n arrayOf: getShim,\n element: shim,\n elementType: shim,\n instanceOf: getShim,\n node: shim,\n objectOf: getShim,\n oneOf: getShim,\n oneOfType: getShim,\n shape: getShim,\n exact: getShim,\n\n checkPropTypes: emptyFunctionWithReset,\n resetWarningCache: emptyFunction\n };\n\n ReactPropTypes.PropTypes = ReactPropTypes;\n\n return ReactPropTypes;\n};\n","'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = deprecated;\n\nvar _warning = require('warning');\n\nvar _warning2 = _interopRequireDefault(_warning);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nvar warned = {};\n\nfunction deprecated(validator, reason) {\n return function validate(props, propName, componentName, location, propFullName) {\n var componentNameSafe = componentName || '<<anonymous>>';\n var propFullNameSafe = propFullName || propName;\n\n if (props[propName] != null) {\n var messageKey = componentName + '.' + propName;\n\n (0, _warning2.default)(warned[messageKey], 'The ' + location + ' `' + propFullNameSafe + '` of ' + ('`' + componentNameSafe + '` is deprecated. ' + reason + '.'));\n\n warned[messageKey] = true;\n }\n\n for (var _len = arguments.length, args = Array(_len > 5 ? _len - 5 : 0), _key = 5; _key < _len; _key++) {\n args[_key - 5] = arguments[_key];\n }\n\n return validator.apply(undefined, [props, propName, componentName, location, propFullName].concat(args));\n };\n}\n\n/* eslint-disable no-underscore-dangle */\nfunction _resetWarned() {\n warned = {};\n}\n\ndeprecated._resetWarned = _resetWarned;\n/* eslint-enable no-underscore-dangle */\n\nmodule.exports = exports['default'];","/**\n * Copyright (c) 2014-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n'use strict';\n\n/**\n * Similar to invariant but only logs a warning if the condition is not met.\n * This can be used to log issues in development environments in critical\n * paths. Removing the logging code for production environments will keep the\n * same logic and follow the same code paths.\n */\n\nvar __DEV__ = process.env.NODE_ENV !== 'production';\n\nvar warning = function() {};\n\nif (__DEV__) {\n var printWarning = function printWarning(format, args) {\n var len = arguments.length;\n args = new Array(len > 1 ? len - 1 : 0);\n for (var key = 1; key < len; key++) {\n args[key - 1] = arguments[key];\n }\n var argIndex = 0;\n var message = 'Warning: ' +\n format.replace(/%s/g, function() {\n return args[argIndex++];\n });\n if (typeof console !== 'undefined') {\n console.error(message);\n }\n try {\n // --- Welcome to debugging React ---\n // This error was thrown as a convenience so that you can use this stack\n // to find the callsite that caused this warning to fire.\n throw new Error(message);\n } catch (x) {}\n }\n\n warning = function(condition, format, args) {\n var len = arguments.length;\n args = new Array(len > 2 ? len - 2 : 0);\n for (var key = 2; key < len; key++) {\n args[key - 2] = arguments[key];\n }\n if (format === undefined) {\n throw new Error(\n '`warning(condition, format, ...args)` requires a warning ' +\n 'message argument'\n );\n }\n if (!condition) {\n printWarning.apply(null, [format].concat(args));\n }\n };\n}\n\nmodule.exports = warning;\n","'use strict';\n\nexports.__esModule = true;\n\nvar _class = require('dom-helpers/class');\n\nvar _class2 = _interopRequireDefault(_class);\n\nvar _style = require('dom-helpers/style');\n\nvar _style2 = _interopRequireDefault(_style);\n\nvar _scrollbarSize = require('dom-helpers/util/scrollbarSize');\n\nvar _scrollbarSize2 = _interopRequireDefault(_scrollbarSize);\n\nvar _isOverflowing = require('./utils/isOverflowing');\n\nvar _isOverflowing2 = _interopRequireDefault(_isOverflowing);\n\nvar _manageAriaHidden = require('./utils/manageAriaHidden');\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction findIndexOf(arr, cb) {\n var idx = -1;\n arr.some(function (d, i) {\n if (cb(d, i)) {\n idx = i;\n return true;\n }\n });\n return idx;\n}\n\nfunction findContainer(data, modal) {\n return findIndexOf(data, function (d) {\n return d.modals.indexOf(modal) !== -1;\n });\n}\n\nfunction setContainerStyle(state, container) {\n var style = { overflow: 'hidden' };\n\n // we are only interested in the actual `style` here\n // becasue we will override it\n state.style = {\n overflow: container.style.overflow,\n paddingRight: container.style.paddingRight\n };\n\n if (state.overflowing) {\n // use computed style, here to get the real padding\n // to add our scrollbar width\n style.paddingRight = parseInt((0, _style2.default)(container, 'paddingRight') || 0, 10) + (0, _scrollbarSize2.default)() + 'px';\n }\n\n (0, _style2.default)(container, style);\n}\n\nfunction removeContainerStyle(_ref, container) {\n var style = _ref.style;\n\n\n Object.keys(style).forEach(function (key) {\n return container.style[key] = style[key];\n });\n}\n/**\n * Proper state managment for containers and the modals in those containers.\n *\n * @internal Used by the Modal to ensure proper styling of containers.\n */\n\nvar ModalManager = function ModalManager() {\n var _this = this;\n\n var _ref2 = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},\n _ref2$hideSiblingNode = _ref2.hideSiblingNodes,\n hideSiblingNodes = _ref2$hideSiblingNode === undefined ? true : _ref2$hideSiblingNode,\n _ref2$handleContainer = _ref2.handleContainerOverflow,\n handleContainerOverflow = _ref2$handleContainer === undefined ? true : _ref2$handleContainer;\n\n _classCallCheck(this, ModalManager);\n\n this.add = function (modal, container, className) {\n var modalIdx = _this.modals.indexOf(modal);\n var containerIdx = _this.containers.indexOf(container);\n\n if (modalIdx !== -1) {\n return modalIdx;\n }\n\n modalIdx = _this.modals.length;\n _this.modals.push(modal);\n\n if (_this.hideSiblingNodes) {\n (0, _manageAriaHidden.hideSiblings)(container, modal.mountNode);\n }\n\n if (containerIdx !== -1) {\n _this.data[containerIdx].modals.push(modal);\n return modalIdx;\n }\n\n var data = {\n modals: [modal],\n //right now only the first modal of a container will have its classes applied\n classes: className ? className.split(/\\s+/) : [],\n\n overflowing: (0, _isOverflowing2.default)(container)\n };\n\n if (_this.handleContainerOverflow) {\n setContainerStyle(data, container);\n }\n\n data.classes.forEach(_class2.default.addClass.bind(null, container));\n\n _this.containers.push(container);\n _this.data.push(data);\n\n return modalIdx;\n };\n\n this.remove = function (modal) {\n var modalIdx = _this.modals.indexOf(modal);\n\n if (modalIdx === -1) {\n return;\n }\n\n var containerIdx = findContainer(_this.data, modal);\n var data = _this.data[containerIdx];\n var container = _this.containers[containerIdx];\n\n data.modals.splice(data.modals.indexOf(modal), 1);\n\n _this.modals.splice(modalIdx, 1);\n\n // if that was the last modal in a container,\n // clean up the container\n if (data.modals.length === 0) {\n data.classes.forEach(_class2.default.removeClass.bind(null, container));\n\n if (_this.handleContainerOverflow) {\n removeContainerStyle(data, container);\n }\n\n if (_this.hideSiblingNodes) {\n (0, _manageAriaHidden.showSiblings)(container, modal.mountNode);\n }\n _this.containers.splice(containerIdx, 1);\n _this.data.splice(containerIdx, 1);\n } else if (_this.hideSiblingNodes) {\n //otherwise make sure the next top modal is visible to a SR\n (0, _manageAriaHidden.ariaHidden)(false, data.modals[data.modals.length - 1].mountNode);\n }\n };\n\n this.isTopModal = function (modal) {\n return !!_this.modals.length && _this.modals[_this.modals.length - 1] === modal;\n };\n\n this.hideSiblingNodes = hideSiblingNodes;\n this.handleContainerOverflow = handleContainerOverflow;\n this.modals = [];\n this.containers = [];\n this.data = [];\n};\n\nexports.default = ModalManager;\nmodule.exports = exports['default'];","\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\n\nexports.__esModule = true;\nexports.default = void 0;\n\nvar _addClass = _interopRequireDefault(require(\"./addClass\"));\n\nexports.addClass = _addClass.default;\n\nvar _removeClass = _interopRequireDefault(require(\"./removeClass\"));\n\nexports.removeClass = _removeClass.default;\n\nvar _hasClass = _interopRequireDefault(require(\"./hasClass\"));\n\nexports.hasClass = _hasClass.default;\nvar _default = {\n addClass: _addClass.default,\n removeClass: _removeClass.default,\n hasClass: _hasClass.default\n};\nexports.default = _default;","\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\n\nexports.__esModule = true;\nexports.default = addClass;\n\nvar _hasClass = _interopRequireDefault(require(\"./hasClass\"));\n\nfunction addClass(element, className) {\n if (element.classList) element.classList.add(className);else if (!(0, _hasClass.default)(element, className)) if (typeof element.className === 'string') element.className = element.className + ' ' + className;else element.setAttribute('class', (element.className && element.className.baseVal || '') + ' ' + className);\n}\n\nmodule.exports = exports[\"default\"];","'use strict';\n\nfunction replaceClassName(origClass, classToRemove) {\n return origClass.replace(new RegExp('(^|\\\\s)' + classToRemove + '(?:\\\\s|$)', 'g'), '$1').replace(/\\s+/g, ' ').replace(/^\\s*|\\s*$/g, '');\n}\n\nmodule.exports = function removeClass(element, className) {\n if (element.classList) element.classList.remove(className);else if (typeof element.className === 'string') element.className = replaceClassName(element.className, className);else element.setAttribute('class', replaceClassName(element.className && element.className.baseVal || '', className));\n};","\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\n\nexports.__esModule = true;\nexports.default = style;\n\nvar _camelizeStyle = _interopRequireDefault(require(\"../util/camelizeStyle\"));\n\nvar _hyphenateStyle = _interopRequireDefault(require(\"../util/hyphenateStyle\"));\n\nvar _getComputedStyle2 = _interopRequireDefault(require(\"./getComputedStyle\"));\n\nvar _removeStyle = _interopRequireDefault(require(\"./removeStyle\"));\n\nvar _properties = require(\"../transition/properties\");\n\nvar _isTransform = _interopRequireDefault(require(\"../transition/isTransform\"));\n\nfunction style(node, property, value) {\n var css = '';\n var transforms = '';\n var props = property;\n\n if (typeof property === 'string') {\n if (value === undefined) {\n return node.style[(0, _camelizeStyle.default)(property)] || (0, _getComputedStyle2.default)(node).getPropertyValue((0, _hyphenateStyle.default)(property));\n } else {\n (props = {})[property] = value;\n }\n }\n\n Object.keys(props).forEach(function (key) {\n var value = props[key];\n\n if (!value && value !== 0) {\n (0, _removeStyle.default)(node, (0, _hyphenateStyle.default)(key));\n } else if ((0, _isTransform.default)(key)) {\n transforms += key + \"(\" + value + \") \";\n } else {\n css += (0, _hyphenateStyle.default)(key) + \": \" + value + \";\";\n }\n });\n\n if (transforms) {\n css += _properties.transform + \": \" + transforms + \";\";\n }\n\n node.style.cssText += ';' + css;\n}\n\nmodule.exports = exports[\"default\"];","\"use strict\";\n\nexports.__esModule = true;\nexports.default = camelize;\nvar rHyphen = /-(.)/g;\n\nfunction camelize(string) {\n return string.replace(rHyphen, function (_, chr) {\n return chr.toUpperCase();\n });\n}\n\nmodule.exports = exports[\"default\"];","\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\n\nexports.__esModule = true;\nexports.default = hyphenateStyleName;\n\nvar _hyphenate = _interopRequireDefault(require(\"./hyphenate\"));\n\n/**\n * Copyright 2013-2014, Facebook, Inc.\n * All rights reserved.\n * https://github.com/facebook/react/blob/2aeb8a2a6beb00617a4217f7f8284924fa2ad819/src/vendor/core/hyphenateStyleName.js\n */\nvar msPattern = /^ms-/;\n\nfunction hyphenateStyleName(string) {\n return (0, _hyphenate.default)(string).replace(msPattern, '-ms-');\n}\n\nmodule.exports = exports[\"default\"];","\"use strict\";\n\nexports.__esModule = true;\nexports.default = hyphenate;\nvar rUpper = /([A-Z])/g;\n\nfunction hyphenate(string) {\n return string.replace(rUpper, '-$1').toLowerCase();\n}\n\nmodule.exports = exports[\"default\"];","\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\n\nexports.__esModule = true;\nexports.default = _getComputedStyle;\n\nvar _camelizeStyle = _interopRequireDefault(require(\"../util/camelizeStyle\"));\n\nvar rposition = /^(top|right|bottom|left)$/;\nvar rnumnonpx = /^([+-]?(?:\\d*\\.|)\\d+(?:[eE][+-]?\\d+|))(?!px)[a-z%]+$/i;\n\nfunction _getComputedStyle(node) {\n if (!node) throw new TypeError('No Element passed to `getComputedStyle()`');\n var doc = node.ownerDocument;\n return 'defaultView' in doc ? doc.defaultView.opener ? node.ownerDocument.defaultView.getComputedStyle(node, null) : window.getComputedStyle(node, null) : {\n //ie 8 \"magic\" from: https://github.com/jquery/jquery/blob/1.11-stable/src/css/curCSS.js#L72\n getPropertyValue: function getPropertyValue(prop) {\n var style = node.style;\n prop = (0, _camelizeStyle.default)(prop);\n if (prop == 'float') prop = 'styleFloat';\n var current = node.currentStyle[prop] || null;\n if (current == null && style && style[prop]) current = style[prop];\n\n if (rnumnonpx.test(current) && !rposition.test(prop)) {\n // Remember the original values\n var left = style.left;\n var runStyle = node.runtimeStyle;\n var rsLeft = runStyle && runStyle.left; // Put in the new values to get a computed value out\n\n if (rsLeft) runStyle.left = node.currentStyle.left;\n style.left = prop === 'fontSize' ? '1em' : current;\n current = style.pixelLeft + 'px'; // Revert the changed values\n\n style.left = left;\n if (rsLeft) runStyle.left = rsLeft;\n }\n\n return current;\n }\n };\n}\n\nmodule.exports = exports[\"default\"];","\"use strict\";\n\nexports.__esModule = true;\nexports.default = removeStyle;\n\nfunction removeStyle(node, key) {\n return 'removeProperty' in node.style ? node.style.removeProperty(key) : node.style.removeAttribute(key);\n}\n\nmodule.exports = exports[\"default\"];","\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\n\nexports.__esModule = true;\nexports.default = exports.animationEnd = exports.animationDelay = exports.animationTiming = exports.animationDuration = exports.animationName = exports.transitionEnd = exports.transitionDuration = exports.transitionDelay = exports.transitionTiming = exports.transitionProperty = exports.transform = void 0;\n\nvar _inDOM = _interopRequireDefault(require(\"../util/inDOM\"));\n\nvar transform = 'transform';\nexports.transform = transform;\nvar prefix, transitionEnd, animationEnd;\nexports.animationEnd = animationEnd;\nexports.transitionEnd = transitionEnd;\nvar transitionProperty, transitionDuration, transitionTiming, transitionDelay;\nexports.transitionDelay = transitionDelay;\nexports.transitionTiming = transitionTiming;\nexports.transitionDuration = transitionDuration;\nexports.transitionProperty = transitionProperty;\nvar animationName, animationDuration, animationTiming, animationDelay;\nexports.animationDelay = animationDelay;\nexports.animationTiming = animationTiming;\nexports.animationDuration = animationDuration;\nexports.animationName = animationName;\n\nif (_inDOM.default) {\n var _getTransitionPropert = getTransitionProperties();\n\n prefix = _getTransitionPropert.prefix;\n exports.transitionEnd = transitionEnd = _getTransitionPropert.transitionEnd;\n exports.animationEnd = animationEnd = _getTransitionPropert.animationEnd;\n exports.transform = transform = prefix + \"-\" + transform;\n exports.transitionProperty = transitionProperty = prefix + \"-transition-property\";\n exports.transitionDuration = transitionDuration = prefix + \"-transition-duration\";\n exports.transitionDelay = transitionDelay = prefix + \"-transition-delay\";\n exports.transitionTiming = transitionTiming = prefix + \"-transition-timing-function\";\n exports.animationName = animationName = prefix + \"-animation-name\";\n exports.animationDuration = animationDuration = prefix + \"-animation-duration\";\n exports.animationTiming = animationTiming = prefix + \"-animation-delay\";\n exports.animationDelay = animationDelay = prefix + \"-animation-timing-function\";\n}\n\nvar _default = {\n transform: transform,\n end: transitionEnd,\n property: transitionProperty,\n timing: transitionTiming,\n delay: transitionDelay,\n duration: transitionDuration\n};\nexports.default = _default;\n\nfunction getTransitionProperties() {\n var style = document.createElement('div').style;\n var vendorMap = {\n O: function O(e) {\n return \"o\" + e.toLowerCase();\n },\n Moz: function Moz(e) {\n return e.toLowerCase();\n },\n Webkit: function Webkit(e) {\n return \"webkit\" + e;\n },\n ms: function ms(e) {\n return \"MS\" + e;\n }\n };\n var vendors = Object.keys(vendorMap);\n var transitionEnd, animationEnd;\n var prefix = '';\n\n for (var i = 0; i < vendors.length; i++) {\n var vendor = vendors[i];\n\n if (vendor + \"TransitionProperty\" in style) {\n prefix = \"-\" + vendor.toLowerCase();\n transitionEnd = vendorMap[vendor]('TransitionEnd');\n animationEnd = vendorMap[vendor]('AnimationEnd');\n break;\n }\n }\n\n if (!transitionEnd && 'transitionProperty' in style) transitionEnd = 'transitionend';\n if (!animationEnd && 'animationName' in style) animationEnd = 'animationend';\n style = null;\n return {\n animationEnd: animationEnd,\n transitionEnd: transitionEnd,\n prefix: prefix\n };\n}","\"use strict\";\n\nexports.__esModule = true;\nexports.default = isTransform;\nvar supportedTransforms = /^((translate|rotate|scale)(X|Y|Z|3d)?|matrix(3d)?|perspective|skew(X|Y)?)$/i;\n\nfunction isTransform(property) {\n return !!(property && supportedTransforms.test(property));\n}\n\nmodule.exports = exports[\"default\"];","\"use strict\";\n\nexports.__esModule = true;\nexports.default = getWindow;\n\nfunction getWindow(node) {\n return node === node.window ? node : node.nodeType === 9 ? node.defaultView || node.parentWindow : false;\n}\n\nmodule.exports = exports[\"default\"];","'use strict';\n\nexports.__esModule = true;\nexports.ariaHidden = ariaHidden;\nexports.hideSiblings = hideSiblings;\nexports.showSiblings = showSiblings;\n\nvar BLACKLIST = ['template', 'script', 'style'];\n\nvar isHidable = function isHidable(_ref) {\n var nodeType = _ref.nodeType,\n tagName = _ref.tagName;\n return nodeType === 1 && BLACKLIST.indexOf(tagName.toLowerCase()) === -1;\n};\n\nvar siblings = function siblings(container, mount, cb) {\n mount = [].concat(mount);\n\n [].forEach.call(container.children, function (node) {\n if (mount.indexOf(node) === -1 && isHidable(node)) {\n cb(node);\n }\n });\n};\n\nfunction ariaHidden(show, node) {\n if (!node) {\n return;\n }\n if (show) {\n node.setAttribute('aria-hidden', 'true');\n } else {\n node.removeAttribute('aria-hidden');\n }\n}\n\nfunction hideSiblings(container, mountNode) {\n siblings(container, mountNode, function (node) {\n return ariaHidden(true, node);\n });\n}\n\nfunction showSiblings(container, mountNode) {\n siblings(container, mountNode, function (node) {\n return ariaHidden(false, node);\n });\n}","'use strict';\n\nexports.__esModule = true;\n\nvar _propTypes = require('prop-types');\n\nvar _propTypes2 = _interopRequireDefault(_propTypes);\n\nvar _componentOrElement = require('prop-types-extra/lib/componentOrElement');\n\nvar _componentOrElement2 = _interopRequireDefault(_componentOrElement);\n\nvar _react = require('react');\n\nvar _react2 = _interopRequireDefault(_react);\n\nvar _reactDom = require('react-dom');\n\nvar _reactDom2 = _interopRequireDefault(_reactDom);\n\nvar _getContainer = require('./utils/getContainer');\n\nvar _getContainer2 = _interopRequireDefault(_getContainer);\n\nvar _ownerDocument = require('./utils/ownerDocument');\n\nvar _ownerDocument2 = _interopRequireDefault(_ownerDocument);\n\nvar _LegacyPortal = require('./LegacyPortal');\n\nvar _LegacyPortal2 = _interopRequireDefault(_LegacyPortal);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\n/**\n * The `<Portal/>` component renders its children into a new \"subtree\" outside of current component hierarchy.\n * You can think of it as a declarative `appendChild()`, or jQuery's `$.fn.appendTo()`.\n * The children of `<Portal/>` component will be appended to the `container` specified.\n */\nvar Portal = function (_React$Component) {\n _inherits(Portal, _React$Component);\n\n function Portal() {\n var _temp, _this, _ret;\n\n _classCallCheck(this, Portal);\n\n for (var _len = arguments.length, args = Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n return _ret = (_temp = (_this = _possibleConstructorReturn(this, _React$Component.call.apply(_React$Component, [this].concat(args))), _this), _this.setContainer = function () {\n var props = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : _this.props;\n\n _this._portalContainerNode = (0, _getContainer2.default)(props.container, (0, _ownerDocument2.default)(_this).body);\n }, _this.getMountNode = function () {\n return _this._portalContainerNode;\n }, _temp), _possibleConstructorReturn(_this, _ret);\n }\n\n Portal.prototype.componentDidMount = function componentDidMount() {\n this.setContainer();\n this.forceUpdate(this.props.onRendered);\n };\n\n Portal.prototype.componentWillReceiveProps = function componentWillReceiveProps(nextProps) {\n if (nextProps.container !== this.props.container) {\n this.setContainer(nextProps);\n }\n };\n\n Portal.prototype.componentWillUnmount = function componentWillUnmount() {\n this._portalContainerNode = null;\n };\n\n Portal.prototype.render = function render() {\n return this.props.children && this._portalContainerNode ? _reactDom2.default.createPortal(this.props.children, this._portalContainerNode) : null;\n };\n\n return Portal;\n}(_react2.default.Component);\n\nPortal.displayName = 'Portal';\nPortal.propTypes = {\n /**\n * A Node, Component instance, or function that returns either. The `container` will have the Portal children\n * appended to it.\n */\n container: _propTypes2.default.oneOfType([_componentOrElement2.default, _propTypes2.default.func]),\n\n onRendered: _propTypes2.default.func\n};\nexports.default = _reactDom2.default.createPortal ? Portal : _LegacyPortal2.default;\nmodule.exports = exports['default'];","'use strict';\n\nexports.__esModule = true;\n\nvar _propTypes = require('prop-types');\n\nvar _propTypes2 = _interopRequireDefault(_propTypes);\n\nvar _componentOrElement = require('prop-types-extra/lib/componentOrElement');\n\nvar _componentOrElement2 = _interopRequireDefault(_componentOrElement);\n\nvar _react = require('react');\n\nvar _react2 = _interopRequireDefault(_react);\n\nvar _reactDom = require('react-dom');\n\nvar _reactDom2 = _interopRequireDefault(_reactDom);\n\nvar _getContainer = require('./utils/getContainer');\n\nvar _getContainer2 = _interopRequireDefault(_getContainer);\n\nvar _ownerDocument = require('./utils/ownerDocument');\n\nvar _ownerDocument2 = _interopRequireDefault(_ownerDocument);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\n/**\n * The `<Portal/>` component renders its children into a new \"subtree\" outside of current component hierarchy.\n * You can think of it as a declarative `appendChild()`, or jQuery's `$.fn.appendTo()`.\n * The children of `<Portal/>` component will be appended to the `container` specified.\n */\nvar Portal = function (_React$Component) {\n _inherits(Portal, _React$Component);\n\n function Portal() {\n var _temp, _this, _ret;\n\n _classCallCheck(this, Portal);\n\n for (var _len = arguments.length, args = Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n return _ret = (_temp = (_this = _possibleConstructorReturn(this, _React$Component.call.apply(_React$Component, [this].concat(args))), _this), _this._mountOverlayTarget = function () {\n if (!_this._overlayTarget) {\n _this._overlayTarget = document.createElement('div');\n _this._portalContainerNode = (0, _getContainer2.default)(_this.props.container, (0, _ownerDocument2.default)(_this).body);\n _this._portalContainerNode.appendChild(_this._overlayTarget);\n }\n }, _this._unmountOverlayTarget = function () {\n if (_this._overlayTarget) {\n _this._portalContainerNode.removeChild(_this._overlayTarget);\n _this._overlayTarget = null;\n }\n _this._portalContainerNode = null;\n }, _this._renderOverlay = function () {\n var overlay = !_this.props.children ? null : _react2.default.Children.only(_this.props.children);\n\n // Save reference for future access.\n if (overlay !== null) {\n _this._mountOverlayTarget();\n\n var initialRender = !_this._overlayInstance;\n\n _this._overlayInstance = _reactDom2.default.unstable_renderSubtreeIntoContainer(_this, overlay, _this._overlayTarget, function () {\n if (initialRender && _this.props.onRendered) {\n _this.props.onRendered();\n }\n });\n } else {\n // Unrender if the component is null for transitions to null\n _this._unrenderOverlay();\n _this._unmountOverlayTarget();\n }\n }, _this._unrenderOverlay = function () {\n if (_this._overlayTarget) {\n _reactDom2.default.unmountComponentAtNode(_this._overlayTarget);\n _this._overlayInstance = null;\n }\n }, _this.getMountNode = function () {\n return _this._overlayTarget;\n }, _temp), _possibleConstructorReturn(_this, _ret);\n }\n\n Portal.prototype.componentDidMount = function componentDidMount() {\n this._isMounted = true;\n this._renderOverlay();\n };\n\n Portal.prototype.componentDidUpdate = function componentDidUpdate() {\n this._renderOverlay();\n };\n\n Portal.prototype.componentWillReceiveProps = function componentWillReceiveProps(nextProps) {\n if (this._overlayTarget && nextProps.container !== this.props.container) {\n this._portalContainerNode.removeChild(this._overlayTarget);\n this._portalContainerNode = (0, _getContainer2.default)(nextProps.container, (0, _ownerDocument2.default)(this).body);\n this._portalContainerNode.appendChild(this._overlayTarget);\n }\n };\n\n Portal.prototype.componentWillUnmount = function componentWillUnmount() {\n this._isMounted = false;\n this._unrenderOverlay();\n this._unmountOverlayTarget();\n };\n\n Portal.prototype.render = function render() {\n return null;\n };\n\n return Portal;\n}(_react2.default.Component);\n\nPortal.displayName = 'Portal';\nPortal.propTypes = {\n /**\n * A Node, Component instance, or function that returns either. The `container` will have the Portal children\n * appended to it.\n */\n container: _propTypes2.default.oneOfType([_componentOrElement2.default, _propTypes2.default.func]),\n\n onRendered: _propTypes2.default.func\n};\nexports.default = Portal;\nmodule.exports = exports['default'];","'use strict';\n\nexports.__esModule = true;\n\nvar _propTypes = require('prop-types');\n\nvar _propTypes2 = _interopRequireDefault(_propTypes);\n\nvar _react = require('react');\n\nvar _react2 = _interopRequireDefault(_react);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\nvar propTypes = {\n children: _propTypes2.default.node\n};\n\n/**\n * Internal helper component to allow attaching a non-conflicting ref to a\n * child element that may not accept refs.\n */\n\nvar RefHolder = function (_React$Component) {\n _inherits(RefHolder, _React$Component);\n\n function RefHolder() {\n _classCallCheck(this, RefHolder);\n\n return _possibleConstructorReturn(this, _React$Component.apply(this, arguments));\n }\n\n RefHolder.prototype.render = function render() {\n return this.props.children;\n };\n\n return RefHolder;\n}(_react2.default.Component);\n\nRefHolder.propTypes = propTypes;\n\nexports.default = RefHolder;\nmodule.exports = exports['default'];","'use strict';\n\nexports.__esModule = true;\nexports.default = addFocusListener;\n/**\n * Firefox doesn't have a focusin event so using capture is easiest way to get bubbling\n * IE8 can't do addEventListener, but does have onfocusin, so we use that in ie8\n *\n * We only allow one Listener at a time to avoid stack overflows\n */\nfunction addFocusListener(handler) {\n var useFocusin = !document.addEventListener;\n var remove = void 0;\n\n if (useFocusin) {\n document.attachEvent('onfocusin', handler);\n remove = function remove() {\n return document.detachEvent('onfocusin', handler);\n };\n } else {\n document.addEventListener('focus', handler, true);\n remove = function remove() {\n return document.removeEventListener('focus', handler, true);\n };\n }\n\n return { remove: remove };\n}\nmodule.exports = exports['default'];","require('../../modules/es7.object.entries');\nmodule.exports = require('../../modules/_core').Object.entries;\n","// https://github.com/tc39/proposal-object-values-entries\nvar $export = require('./_export');\nvar $entries = require('./_object-to-array')(true);\n\n$export($export.S, 'Object', {\n entries: function entries(it) {\n return $entries(it);\n }\n});\n","/**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\nfunction componentWillMount() {\n // Call this.constructor.gDSFP to support sub-classes.\n var state = this.constructor.getDerivedStateFromProps(this.props, this.state);\n if (state !== null && state !== undefined) {\n this.setState(state);\n }\n}\n\nfunction componentWillReceiveProps(nextProps) {\n // Call this.constructor.gDSFP to support sub-classes.\n // Use the setState() updater to ensure state isn't stale in certain edge cases.\n function updater(prevState) {\n var state = this.constructor.getDerivedStateFromProps(nextProps, prevState);\n return state !== null && state !== undefined ? state : null;\n }\n // Binding \"this\" is important for shallow renderer support.\n this.setState(updater.bind(this));\n}\n\nfunction componentWillUpdate(nextProps, nextState) {\n try {\n var prevProps = this.props;\n var prevState = this.state;\n this.props = nextProps;\n this.state = nextState;\n this.__reactInternalSnapshotFlag = true;\n this.__reactInternalSnapshot = this.getSnapshotBeforeUpdate(\n prevProps,\n prevState\n );\n } finally {\n this.props = prevProps;\n this.state = prevState;\n }\n}\n\n// React may warn about cWM/cWRP/cWU methods being deprecated.\n// Add a flag to suppress these warnings for this special case.\ncomponentWillMount.__suppressDeprecationWarning = true;\ncomponentWillReceiveProps.__suppressDeprecationWarning = true;\ncomponentWillUpdate.__suppressDeprecationWarning = true;\n\nfunction polyfill(Component) {\n var prototype = Component.prototype;\n\n if (!prototype || !prototype.isReactComponent) {\n throw new Error('Can only polyfill class components');\n }\n\n if (\n typeof Component.getDerivedStateFromProps !== 'function' &&\n typeof prototype.getSnapshotBeforeUpdate !== 'function'\n ) {\n return Component;\n }\n\n // If new component APIs are defined, \"unsafe\" lifecycles won't be called.\n // Error if any of these lifecycles are present,\n // Because they would work differently between older and newer (16.3+) versions of React.\n var foundWillMountName = null;\n var foundWillReceivePropsName = null;\n var foundWillUpdateName = null;\n if (typeof prototype.componentWillMount === 'function') {\n foundWillMountName = 'componentWillMount';\n } else if (typeof prototype.UNSAFE_componentWillMount === 'function') {\n foundWillMountName = 'UNSAFE_componentWillMount';\n }\n if (typeof prototype.componentWillReceiveProps === 'function') {\n foundWillReceivePropsName = 'componentWillReceiveProps';\n } else if (typeof prototype.UNSAFE_componentWillReceiveProps === 'function') {\n foundWillReceivePropsName = 'UNSAFE_componentWillReceiveProps';\n }\n if (typeof prototype.componentWillUpdate === 'function') {\n foundWillUpdateName = 'componentWillUpdate';\n } else if (typeof prototype.UNSAFE_componentWillUpdate === 'function') {\n foundWillUpdateName = 'UNSAFE_componentWillUpdate';\n }\n if (\n foundWillMountName !== null ||\n foundWillReceivePropsName !== null ||\n foundWillUpdateName !== null\n ) {\n var componentName = Component.displayName || Component.name;\n var newApiName =\n typeof Component.getDerivedStateFromProps === 'function'\n ? 'getDerivedStateFromProps()'\n : 'getSnapshotBeforeUpdate()';\n\n throw Error(\n 'Unsafe legacy lifecycles will not be called for components using new component APIs.\\n\\n' +\n componentName +\n ' uses ' +\n newApiName +\n ' but also contains the following legacy lifecycles:' +\n (foundWillMountName !== null ? '\\n ' + foundWillMountName : '') +\n (foundWillReceivePropsName !== null\n ? '\\n ' + foundWillReceivePropsName\n : '') +\n (foundWillUpdateName !== null ? '\\n ' + foundWillUpdateName : '') +\n '\\n\\nThe above lifecycles should be removed. Learn more about this warning here:\\n' +\n 'https://fb.me/react-async-component-lifecycle-hooks'\n );\n }\n\n // React <= 16.2 does not support static getDerivedStateFromProps.\n // As a workaround, use cWM and cWRP to invoke the new static lifecycle.\n // Newer versions of React will ignore these lifecycles if gDSFP exists.\n if (typeof Component.getDerivedStateFromProps === 'function') {\n prototype.componentWillMount = componentWillMount;\n prototype.componentWillReceiveProps = componentWillReceiveProps;\n }\n\n // React <= 16.2 does not support getSnapshotBeforeUpdate.\n // As a workaround, use cWU to invoke the new lifecycle.\n // Newer versions of React will ignore that lifecycle if gSBU exists.\n if (typeof prototype.getSnapshotBeforeUpdate === 'function') {\n if (typeof prototype.componentDidUpdate !== 'function') {\n throw new Error(\n 'Cannot polyfill getSnapshotBeforeUpdate() for components that do not define componentDidUpdate() on the prototype'\n );\n }\n\n prototype.componentWillUpdate = componentWillUpdate;\n\n var componentDidUpdate = prototype.componentDidUpdate;\n\n prototype.componentDidUpdate = function componentDidUpdatePolyfill(\n prevProps,\n prevState,\n maybeSnapshot\n ) {\n // 16.3+ will not execute our will-update method;\n // It will pass a snapshot value to did-update though.\n // Older versions will require our polyfilled will-update value.\n // We need to handle both cases, but can't just check for the presence of \"maybeSnapshot\",\n // Because for <= 15.x versions this might be a \"prevContext\" object.\n // We also can't just check \"__reactInternalSnapshot\",\n // Because get-snapshot might return a falsy value.\n // So check for the explicit __reactInternalSnapshotFlag flag to determine behavior.\n var snapshot = this.__reactInternalSnapshotFlag\n ? this.__reactInternalSnapshot\n : maybeSnapshot;\n\n componentDidUpdate.call(this, prevProps, prevState, snapshot);\n };\n }\n\n return Component;\n}\n\nexport { polyfill };\n","\"use strict\";\n\nexports.__esModule = true;\nexports.classNamesShape = exports.timeoutsShape = void 0;\n\nvar _propTypes = _interopRequireDefault(require(\"prop-types\"));\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nvar timeoutsShape = process.env.NODE_ENV !== 'production' ? _propTypes.default.oneOfType([_propTypes.default.number, _propTypes.default.shape({\n enter: _propTypes.default.number,\n exit: _propTypes.default.number,\n appear: _propTypes.default.number\n}).isRequired]) : null;\nexports.timeoutsShape = timeoutsShape;\nvar classNamesShape = process.env.NODE_ENV !== 'production' ? _propTypes.default.oneOfType([_propTypes.default.string, _propTypes.default.shape({\n enter: _propTypes.default.string,\n exit: _propTypes.default.string,\n active: _propTypes.default.string\n}), _propTypes.default.shape({\n enter: _propTypes.default.string,\n enterDone: _propTypes.default.string,\n enterActive: _propTypes.default.string,\n exit: _propTypes.default.string,\n exitDone: _propTypes.default.string,\n exitActive: _propTypes.default.string\n})]) : null;\nexports.classNamesShape = classNamesShape;","require('../../modules/es7.object.values');\nmodule.exports = require('../../modules/_core').Object.values;\n","// https://github.com/tc39/proposal-object-values-entries\nvar $export = require('./_export');\nvar $values = require('./_object-to-array')(false);\n\n$export($export.S, 'Object', {\n values: function values(it) {\n return $values(it);\n }\n});\n","\"use strict\";\n\nexports.__esModule = true;\nexports.uncontrolledPropTypes = uncontrolledPropTypes;\nexports.isProp = isProp;\nexports.defaultKey = defaultKey;\nexports.isReactComponent = isReactComponent;\n\nvar _invariant = _interopRequireDefault(require(\"invariant\"));\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nvar noop = function noop() {};\n\nfunction readOnlyPropType(handler, name) {\n return function (props, propName) {\n if (props[propName] !== undefined) {\n if (!props[handler]) {\n return new Error(\"You have provided a `\" + propName + \"` prop to `\" + name + \"` \" + (\"without an `\" + handler + \"` handler prop. This will render a read-only field. \") + (\"If the field should be mutable use `\" + defaultKey(propName) + \"`. \") + (\"Otherwise, set `\" + handler + \"`.\"));\n }\n }\n };\n}\n\nfunction uncontrolledPropTypes(controlledValues, displayName) {\n var propTypes = {};\n Object.keys(controlledValues).forEach(function (prop) {\n // add default propTypes for folks that use runtime checks\n propTypes[defaultKey(prop)] = noop;\n\n if (process.env.NODE_ENV !== 'production') {\n var handler = controlledValues[prop];\n !(typeof handler === 'string' && handler.trim().length) ? process.env.NODE_ENV !== \"production\" ? (0, _invariant.default)(false, 'Uncontrollable - [%s]: the prop `%s` needs a valid handler key name in order to make it uncontrollable', displayName, prop) : invariant(false) : void 0;\n propTypes[prop] = readOnlyPropType(handler, displayName);\n }\n });\n return propTypes;\n}\n\nfunction isProp(props, prop) {\n return props[prop] !== undefined;\n}\n\nfunction defaultKey(key) {\n return 'default' + key.charAt(0).toUpperCase() + key.substr(1);\n}\n/**\n * Copyright (c) 2013-present, Facebook, Inc.\n * All rights reserved.\n *\n * This source code is licensed under the BSD-style license found in the\n * LICENSE file in the root directory of this source tree. An additional grant\n * of patent rights can be found in the PATENTS file in the same directory.\n */\n\n\nfunction isReactComponent(component) {\n return !!(component && component.prototype && component.prototype.isReactComponent);\n}","require('../../modules/es6.string.iterator');\nrequire('../../modules/es6.array.from');\nmodule.exports = require('../../modules/_core').Array.from;\n","'use strict';\nvar $at = require('./_string-at')(true);\n\n// 21.1.3.27 String.prototype[@@iterator]()\nrequire('./_iter-define')(String, 'String', function (iterated) {\n this._t = String(iterated); // target\n this._i = 0; // next index\n// 21.1.5.2.1 %StringIteratorPrototype%.next()\n}, function () {\n var O = this._t;\n var index = this._i;\n var point;\n if (index >= O.length) return { value: undefined, done: true };\n point = $at(O, index);\n this._i += point.length;\n return { value: point, done: false };\n});\n","var toInteger = require('./_to-integer');\nvar defined = require('./_defined');\n// true -> String#at\n// false -> String#codePointAt\nmodule.exports = function (TO_STRING) {\n return function (that, pos) {\n var s = String(defined(that));\n var i = toInteger(pos);\n var l = s.length;\n var a, b;\n if (i < 0 || i >= l) return TO_STRING ? '' : undefined;\n a = s.charCodeAt(i);\n return a < 0xd800 || a > 0xdbff || i + 1 === l || (b = s.charCodeAt(i + 1)) < 0xdc00 || b > 0xdfff\n ? TO_STRING ? s.charAt(i) : a\n : TO_STRING ? s.slice(i, i + 2) : (a - 0xd800 << 10) + (b - 0xdc00) + 0x10000;\n };\n};\n","'use strict';\nvar LIBRARY = require('./_library');\nvar $export = require('./_export');\nvar redefine = require('./_redefine');\nvar hide = require('./_hide');\nvar Iterators = require('./_iterators');\nvar $iterCreate = require('./_iter-create');\nvar setToStringTag = require('./_set-to-string-tag');\nvar getPrototypeOf = require('./_object-gpo');\nvar ITERATOR = require('./_wks')('iterator');\nvar BUGGY = !([].keys && 'next' in [].keys()); // Safari has buggy iterators w/o `next`\nvar FF_ITERATOR = '@@iterator';\nvar KEYS = 'keys';\nvar VALUES = 'values';\n\nvar returnThis = function () { return this; };\n\nmodule.exports = function (Base, NAME, Constructor, next, DEFAULT, IS_SET, FORCED) {\n $iterCreate(Constructor, NAME, next);\n var getMethod = function (kind) {\n if (!BUGGY && kind in proto) return proto[kind];\n switch (kind) {\n case KEYS: return function keys() { return new Constructor(this, kind); };\n case VALUES: return function values() { return new Constructor(this, kind); };\n } return function entries() { return new Constructor(this, kind); };\n };\n var TAG = NAME + ' Iterator';\n var DEF_VALUES = DEFAULT == VALUES;\n var VALUES_BUG = false;\n var proto = Base.prototype;\n var $native = proto[ITERATOR] || proto[FF_ITERATOR] || DEFAULT && proto[DEFAULT];\n var $default = $native || getMethod(DEFAULT);\n var $entries = DEFAULT ? !DEF_VALUES ? $default : getMethod('entries') : undefined;\n var $anyNative = NAME == 'Array' ? proto.entries || $native : $native;\n var methods, key, IteratorPrototype;\n // Fix native\n if ($anyNative) {\n IteratorPrototype = getPrototypeOf($anyNative.call(new Base()));\n if (IteratorPrototype !== Object.prototype && IteratorPrototype.next) {\n // Set @@toStringTag to native iterators\n setToStringTag(IteratorPrototype, TAG, true);\n // fix for some old engines\n if (!LIBRARY && typeof IteratorPrototype[ITERATOR] != 'function') hide(IteratorPrototype, ITERATOR, returnThis);\n }\n }\n // fix Array#{values, @@iterator}.name in V8 / FF\n if (DEF_VALUES && $native && $native.name !== VALUES) {\n VALUES_BUG = true;\n $default = function values() { return $native.call(this); };\n }\n // Define iterator\n if ((!LIBRARY || FORCED) && (BUGGY || VALUES_BUG || !proto[ITERATOR])) {\n hide(proto, ITERATOR, $default);\n }\n // Plug for library\n Iterators[NAME] = $default;\n Iterators[TAG] = returnThis;\n if (DEFAULT) {\n methods = {\n values: DEF_VALUES ? $default : getMethod(VALUES),\n keys: IS_SET ? $default : getMethod(KEYS),\n entries: $entries\n };\n if (FORCED) for (key in methods) {\n if (!(key in proto)) redefine(proto, key, methods[key]);\n } else $export($export.P + $export.F * (BUGGY || VALUES_BUG), NAME, methods);\n }\n return methods;\n};\n","module.exports = require('./_hide');\n","'use strict';\nvar create = require('./_object-create');\nvar descriptor = require('./_property-desc');\nvar setToStringTag = require('./_set-to-string-tag');\nvar IteratorPrototype = {};\n\n// 25.1.2.1.1 %IteratorPrototype%[@@iterator]()\nrequire('./_hide')(IteratorPrototype, require('./_wks')('iterator'), function () { return this; });\n\nmodule.exports = function (Constructor, NAME, next) {\n Constructor.prototype = create(IteratorPrototype, { next: descriptor(1, next) });\n setToStringTag(Constructor, NAME + ' Iterator');\n};\n","// 19.1.2.9 / 15.2.3.2 Object.getPrototypeOf(O)\nvar has = require('./_has');\nvar toObject = require('./_to-object');\nvar IE_PROTO = require('./_shared-key')('IE_PROTO');\nvar ObjectProto = Object.prototype;\n\nmodule.exports = Object.getPrototypeOf || function (O) {\n O = toObject(O);\n if (has(O, IE_PROTO)) return O[IE_PROTO];\n if (typeof O.constructor == 'function' && O instanceof O.constructor) {\n return O.constructor.prototype;\n } return O instanceof Object ? ObjectProto : null;\n};\n","'use strict';\nvar ctx = require('./_ctx');\nvar $export = require('./_export');\nvar toObject = require('./_to-object');\nvar call = require('./_iter-call');\nvar isArrayIter = require('./_is-array-iter');\nvar toLength = require('./_to-length');\nvar createProperty = require('./_create-property');\nvar getIterFn = require('./core.get-iterator-method');\n\n$export($export.S + $export.F * !require('./_iter-detect')(function (iter) { Array.from(iter); }), 'Array', {\n // 22.1.2.1 Array.from(arrayLike, mapfn = undefined, thisArg = undefined)\n from: function from(arrayLike /* , mapfn = undefined, thisArg = undefined */) {\n var O = toObject(arrayLike);\n var C = typeof this == 'function' ? this : Array;\n var aLen = arguments.length;\n var mapfn = aLen > 1 ? arguments[1] : undefined;\n var mapping = mapfn !== undefined;\n var index = 0;\n var iterFn = getIterFn(O);\n var length, result, step, iterator;\n if (mapping) mapfn = ctx(mapfn, aLen > 2 ? arguments[2] : undefined, 2);\n // if object isn't iterable or it's array with default iterator - use simple case\n if (iterFn != undefined && !(C == Array && isArrayIter(iterFn))) {\n for (iterator = iterFn.call(O), result = new C(); !(step = iterator.next()).done; index++) {\n createProperty(result, index, mapping ? call(iterator, mapfn, [step.value, index], true) : step.value);\n }\n } else {\n length = toLength(O.length);\n for (result = new C(length); length > index; index++) {\n createProperty(result, index, mapping ? mapfn(O[index], index) : O[index]);\n }\n }\n result.length = index;\n return result;\n }\n});\n","// call something on iterator step with safe closing on error\nvar anObject = require('./_an-object');\nmodule.exports = function (iterator, fn, value, entries) {\n try {\n return entries ? fn(anObject(value)[0], value[1]) : fn(value);\n // 7.4.6 IteratorClose(iterator, completion)\n } catch (e) {\n var ret = iterator['return'];\n if (ret !== undefined) anObject(ret.call(iterator));\n throw e;\n }\n};\n","// check on default Array iterator\nvar Iterators = require('./_iterators');\nvar ITERATOR = require('./_wks')('iterator');\nvar ArrayProto = Array.prototype;\n\nmodule.exports = function (it) {\n return it !== undefined && (Iterators.Array === it || ArrayProto[ITERATOR] === it);\n};\n","'use strict';\nvar $defineProperty = require('./_object-dp');\nvar createDesc = require('./_property-desc');\n\nmodule.exports = function (object, index, value) {\n if (index in object) $defineProperty.f(object, index, createDesc(0, value));\n else object[index] = value;\n};\n","var classof = require('./_classof');\nvar ITERATOR = require('./_wks')('iterator');\nvar Iterators = require('./_iterators');\nmodule.exports = require('./_core').getIteratorMethod = function (it) {\n if (it != undefined) return it[ITERATOR]\n || it['@@iterator']\n || Iterators[classof(it)];\n};\n","// getting tag from 19.1.3.6 Object.prototype.toString()\nvar cof = require('./_cof');\nvar TAG = require('./_wks')('toStringTag');\n// ES3 wrong here\nvar ARG = cof(function () { return arguments; }()) == 'Arguments';\n\n// fallback for IE11 Script Access Denied error\nvar tryGet = function (it, key) {\n try {\n return it[key];\n } catch (e) { /* empty */ }\n};\n\nmodule.exports = function (it) {\n var O, T, B;\n return it === undefined ? 'Undefined' : it === null ? 'Null'\n // @@toStringTag case\n : typeof (T = tryGet(O = Object(it), TAG)) == 'string' ? T\n // builtinTag case\n : ARG ? cof(O)\n // ES3 arguments fallback\n : (B = cof(O)) == 'Object' && typeof O.callee == 'function' ? 'Arguments' : B;\n};\n","var ITERATOR = require('./_wks')('iterator');\nvar SAFE_CLOSING = false;\n\ntry {\n var riter = [7][ITERATOR]();\n riter['return'] = function () { SAFE_CLOSING = true; };\n // eslint-disable-next-line no-throw-literal\n Array.from(riter, function () { throw 2; });\n} catch (e) { /* empty */ }\n\nmodule.exports = function (exec, skipClosing) {\n if (!skipClosing && !SAFE_CLOSING) return false;\n var safe = false;\n try {\n var arr = [7];\n var iter = arr[ITERATOR]();\n iter.next = function () { return { done: safe = true }; };\n arr[ITERATOR] = function () { return iter; };\n exec(arr);\n } catch (e) { /* empty */ }\n return safe;\n};\n","class PnpGetData {\r\n constructor(){\r\n $pnp.setup({\r\n sp: {\r\n headers: {\r\n \"Accept\": \"application/json; odata=verbose\"\r\n }\r\n }\r\n });\r\n this.idsListas = {\r\n parametrosPaginas: {\r\n subsite: '/salud',\r\n id: '36046433-e610-4f0d-9998-72959ed8a13a'\r\n },\r\n popovers: {\r\n subsite: '/salud',\r\n id: '460d65b0-26e5-4f44-9dd8-65fee084ef09'\r\n },\r\n horarioContacto: {\r\n subsite: '/salud',\r\n id: '2239ac6b-6103-4dd9-bd8b-b7e39532b1be'\r\n },\r\n tiposDocumento: {\r\n subsite: '/salud',\r\n id: '199041d4-5a64-497d-8b1a-164c49ba6d47'\r\n },\r\n beneficiosCondiciones: {\r\n subsite: '/salud/plan-complementario',\r\n id: '184cf10c-5121-4506-9108-7dab04bc1722'\r\n },\r\n categoriasCaja: {\r\n subsite: '/salud',\r\n id: 'c5ee3da3-0169-4da8-a89e-f5b2920e071d'\r\n },\r\n configuraciones: {\r\n subsite: '/salud',\r\n id: 'daf9cdff-e77d-4fb3-a5c6-d3442d884fd3'\r\n },\r\n footer: {\r\n subsite: '/salud',\r\n id: '17eb9670-5475-4fe9-8bb7-54e34bf95549'\r\n },\r\n reglasCalculoSimulacion: {\r\n subsite: '/salud/plan-complementario',\r\n id: '47a791ac-9ca4-4b84-86b4-de52d0740220'\r\n },\r\n trazabilidadCotizador: {\r\n subsite: '/salud/plan-complementario',\r\n id: '7421dc41-b04e-484f-9872-dd41d31909bf'\r\n },\r\n trazabilidadCotizadorDetalle: {\r\n subsite: '/salud/plan-complementario',\r\n id: 'c8429e4d-1c47-43a2-9310-f307d93b7c25'\r\n },\r\n sedesSalud: {\r\n subsite: '/salud',\r\n id: '9D628DFD-E4C9-4EB6-90E3-9155FF20A2AD',\r\n name: 'sedesSalud'\r\n },\r\n sedes: {\r\n subsite: '/',\r\n id: 'AC11A970-2A23-4861-80B7-1BB011F97C47',\r\n name: 'sedes'\r\n },\r\n especialidades: {\r\n subsite: '/salud',\r\n id: '4B44E177-CF06-4971-BFD8-1678624C5E62'\r\n },\r\n saludSedes: {\r\n subsite: '/salud',\r\n id: '0BCA2E89-C2AA-49DE-B35B-CA3A6D2998DE',\r\n name: 'sedes'\r\n },\r\n serviciosSedes: {\r\n subsite: '/',\r\n name: 'Servicios Sedes'\r\n },\r\n servicios: {\r\n subsite: '/',\r\n name: 'Servicios'\r\n },\r\n Configuraciones: {\r\n subsite: '/salud/transacciones/',\r\n name: 'Configuraciones'\r\n }\r\n }; \r\n }\r\n\r\n getIdsListas() {\r\n return this.idsListas;\r\n }\r\n getInfobyList(listName, maxNumberOfElements, filter, columns, lookups, images) {\r\n var _this = this;\r\n return new Promise((resolve) => {\r\n var result = _this.getListItems(listName, maxNumberOfElements, encodeURI(filter), columns, lookups, images);\r\n result.then((items) => {\r\n \r\n var Sedes = [];\r\n \r\n Sedes.push(result);\r\n\r\n resolve(Sedes);\r\n });\r\n });\r\n };\r\n getListItems(listName, maxNumberOfElements, filter, columns, lookups, images) {\r\n var _this = this;\r\n return new Promise(function (resolve, reject) {\r\n var web = new $pnp.Web(window.location.origin + _this.idsListas[listName].subsite);\r\n var rows = web.lists.getByTitle(_this.idsListas[listName].name).items.top(maxNumberOfElements);\r\n var query = rows;\r\n if (filter)\r\n query = query.filter(filter);\r\n if (columns && columns.length > 0) {\r\n var fields = columns.join(',');\r\n if (lookups && lookups.length > 0) {\r\n fields = fields + ',';\r\n var lookupFields = new Array();\r\n lookups.forEach(element => {\r\n lookupFields.push(element.split('/')[0]);\r\n });\r\n fields = fields + lookups.join(',');\r\n query = query.expand(lookupFields.join(','))\r\n }\r\n query = query.select(fields);\r\n }\r\n\r\n query.get().then(\r\n function (items) {\r\n if (images && images.length > 0) {\r\n var promises = [];\r\n for (let i = 0; i < items.length; i++) {\r\n\r\n var getRelatedImage = (htmlValues) => new Promise((resolve) => {\r\n htmlValues.select(images.join(',')).get().then(htmlValue => {\r\n // extend our item and push into the result set\r\n var item = $pnp.Util.extend(items[i], {\r\n PublishingImage: htmlValue.CSImagenLogoImage\r\n });\r\n\r\n resolve(item);\r\n });\r\n });\r\n\r\n const htmlValues = new $pnp.Item(rows.getById(items[i].Id), \"FieldValuesAsHtml\");\r\n promises.push(getRelatedImage(htmlValues));\r\n }\r\n\r\n Promise.all(promises).then((results) => {\r\n resolve(results);\r\n });\r\n }\r\n else {\r\n resolve(items);\r\n }\r\n }\r\n ).catch(\r\n function (e) {\r\n console.error(e);\r\n reject(e);\r\n }\r\n );\r\n });\r\n }\r\n \r\n groupBy(obj, prop, subprop) {\r\n return obj.reduce(function (groups, item) {\r\n if (item[prop] != null) {\r\n var val = item[prop]\r\n if (subprop && val[subprop] != null) {\r\n var value = val[subprop]\r\n groups[value] = groups[value] || []\r\n groups[value].push(item)\r\n }\r\n else {\r\n groups[val] = groups[val] || []\r\n groups[val].push(item)\r\n }\r\n }\r\n return groups\r\n }, {});\r\n }\r\n\r\n sortBy(field, reverse, primer) {\r\n var key = primer ? function (x) { return primer(x[field]) } : function (x) { return x[field] };\r\n reverse = !reverse ? 1 : -1;\r\n return function (a, b) {\r\n return a = key(a), b = key(b), reverse * ((a > b) - (b > a));\r\n };\r\n }\r\n\r\n}\r\n\r\nexport default PnpGetData","import GetListData from \"./getListData\";\r\n\r\nexport function isCallService (args){\r\n try{\r\n compensar.mostrarLoading(args.loadingElement)\r\n args.condition = typeof args.condition == 'undefined' ? true : args.condition\r\n args.showLogs = typeof args.condition == 'undefined' ? false : args.showLogs\r\n const urlPost = new ServicioProxyTransar(args.service, 'ServicioTransar.svc')\r\n const request = args.params\r\n \r\n urlPost.getElements('POST', request).then((response) => {\r\n const data = JSON.parse(response);\r\n if (data.ResponseCode === 200 && data.ResponseDetail === 'Ok') {\r\n if(args.showLogs){\r\n console.group('Respuesta del servicio')\r\n console.info('Respuesta:')\r\n console.info(data)\r\n console.groupEnd()\r\n }\r\n args.mainObject.setState({\r\n [args.changeState]: data.Result\r\n });\r\n args.condition ? args.executeCallback(data.Result) : null\r\n compensar.quitarLoading(args.loadingElement)\r\n } else if(data.ResponseCode === 500 || data.ResponseCode === 450) {\r\n args.mainObject.getErrorMessage(data.ResponseDetail, \"Cerrar\", i18next.t(\"Modal.Bolean.True\"), i18next.t(\"Modal.Bolean.False\"))\r\n args.mainObject.setState({error:true})\r\n compensar.quitarLoading(args.loadingElement)\r\n } else if(data.ResponseCode === 430){\r\n args.mainObject.getErrorMessage(data.ResponseDetail, \"Cancelar\", i18next.t(\"Modal.Bolean.True\"), i18next.t(\"Modal.Bolean.True\"))\r\n compensar.quitarLoading(args.loadingElement)\r\n } else if (data.ResponseCode === 401) {\r\n getMessagesError(args);\r\n }\r\n\r\n }).catch(error => {\r\n args.mainObject.getDataCatch();\r\n compensar.quitarLoading(args.loadingElement); \r\n });\r\n }\r\n catch(error){\r\n console.group('Error en libreria de servicio')\r\n console.info('------------------------------')\r\n console.warn(error)\r\n console.info('------------------------------')\r\n console.groupEnd()\r\n }\r\n}\r\n\r\nfunction getMessagesError(args) {\r\n var inabilityTypes = [];\r\n let query = new GetListData();\r\n let servicesFilter = [\"CSNombreText eq 'MensajePorDefectoErrorTransarProxy'\"]\r\n let fieldImage = \"\";\r\n let requestType = null;\r\n let mensaje = ''\r\n let fieldsArrayServices =\r\n [\r\n \"CSValorNote\",\r\n \"CSNombreText\",\r\n ];\r\n requestType = query.getListItems('Configuraciones', 200, servicesFilter, fieldsArrayServices, '', fieldImage).then((Response) => {\r\n Response.forEach((result) => {\r\n mensaje = result.CSValorNote;\r\n args.mainObject.getErrorMessage(mensaje, \"Cerrar\", i18next.t(\"Modal.Bolean.True\"), i18next.t(\"Modal.Bolean.False\"));\r\n args.mainObject.setState({ error: true });\r\n compensar.quitarLoading(args.loadingElement);\r\n });\r\n });\r\n}\r\n\r\n/*\r\n * isCallService({\r\n * loadingElement: '', // clase o id de elemento padre del loading\r\n * service: '', // nombre del endpoint\r\n * params: {}, // parametros par el servicio\r\n * changeState: '', // variable de estado a cambiar\r\n * executeCallback: function(val){}, // funcion para callback\r\n * condition: true, //condicion para lanzar callback,\r\n * showLogs: false,\r\n * mainObject: this // obligatorio enviar el this,\r\n * })\r\n * \r\n */","import _Object$keys from \"@babel/runtime-corejs2/core-js/object/keys\";\nexport default function _objectWithoutPropertiesLoose(source, excluded) {\n if (source == null) return {};\n var target = {};\n var sourceKeys = _Object$keys(source);\n var key, i;\n for (i = 0; i < sourceKeys.length; i++) {\n key = sourceKeys[i];\n if (excluded.indexOf(key) >= 0) continue;\n target[key] = source[key];\n }\n return target;\n}","import _Object$setPrototypeOf from \"@babel/runtime-corejs2/core-js/object/set-prototype-of\";\nexport default function _setPrototypeOf(o, p) {\n _setPrototypeOf = _Object$setPrototypeOf ? _Object$setPrototypeOf.bind() : function _setPrototypeOf(o, p) {\n o.__proto__ = p;\n return o;\n };\n return _setPrototypeOf(o, p);\n}","import _Object$create from \"@babel/runtime-corejs2/core-js/object/create\";\nimport setPrototypeOf from \"./setPrototypeOf.js\";\nexport default function _inheritsLoose(subClass, superClass) {\n subClass.prototype = _Object$create(superClass.prototype);\n subClass.prototype.constructor = subClass;\n setPrototypeOf(subClass, superClass);\n}","export default function _assertThisInitialized(self) {\n if (self === void 0) {\n throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");\n }\n return self;\n}","import _Object$assign from \"@babel/runtime-corejs2/core-js/object/assign\";\nexport default function _extends() {\n _extends = _Object$assign ? _Object$assign.bind() : function (target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i];\n for (var key in source) {\n if (Object.prototype.hasOwnProperty.call(source, key)) {\n target[key] = source[key];\n }\n }\n }\n return target;\n };\n return _extends.apply(this, arguments);\n}","import _extends from \"@babel/runtime-corejs2/helpers/esm/extends\";\nimport _objectWithoutPropertiesLoose from \"@babel/runtime-corejs2/helpers/esm/objectWithoutPropertiesLoose\";\nimport _inheritsLoose from \"@babel/runtime-corejs2/helpers/esm/inheritsLoose\";\n\nvar _fadeStyles;\n\nimport classNames from 'classnames';\nimport React from 'react';\nimport PropTypes from 'prop-types';\nimport Transition, { ENTERED, ENTERING } from 'react-transition-group/Transition';\nvar propTypes = {\n /**\n * Show the component; triggers the fade in or fade out animation\n */\n in: PropTypes.bool,\n\n /**\n * Wait until the first \"enter\" transition to mount the component (add it to the DOM)\n */\n mountOnEnter: PropTypes.bool,\n\n /**\n * Unmount the component (remove it from the DOM) when it is faded out\n */\n unmountOnExit: PropTypes.bool,\n\n /**\n * Run the fade in animation when the component mounts, if it is initially\n * shown\n */\n appear: PropTypes.bool,\n\n /**\n * Duration of the fade animation in milliseconds, to ensure that finishing\n * callbacks are fired even if the original browser transition end events are\n * canceled\n */\n timeout: PropTypes.number,\n\n /**\n * Callback fired before the component fades in\n */\n onEnter: PropTypes.func,\n\n /**\n * Callback fired after the component starts to fade in\n */\n onEntering: PropTypes.func,\n\n /**\n * Callback fired after the has component faded in\n */\n onEntered: PropTypes.func,\n\n /**\n * Callback fired before the component fades out\n */\n onExit: PropTypes.func,\n\n /**\n * Callback fired after the component starts to fade out\n */\n onExiting: PropTypes.func,\n\n /**\n * Callback fired after the component has faded out\n */\n onExited: PropTypes.func\n};\nvar defaultProps = {\n in: false,\n timeout: 300,\n mountOnEnter: false,\n unmountOnExit: false,\n appear: false\n};\nvar fadeStyles = (_fadeStyles = {}, _fadeStyles[ENTERING] = 'in', _fadeStyles[ENTERED] = 'in', _fadeStyles);\n\nvar Fade =\n/*#__PURE__*/\nfunction (_React$Component) {\n _inheritsLoose(Fade, _React$Component);\n\n function Fade() {\n return _React$Component.apply(this, arguments) || this;\n }\n\n var _proto = Fade.prototype;\n\n _proto.render = function render() {\n var _this$props = this.props,\n className = _this$props.className,\n children = _this$props.children,\n props = _objectWithoutPropertiesLoose(_this$props, [\"className\", \"children\"]);\n\n return React.createElement(Transition, props, function (status, innerProps) {\n return React.cloneElement(children, _extends({}, innerProps, {\n className: classNames('fade', className, children.props.className, fadeStyles[status])\n }));\n });\n };\n\n return Fade;\n}(React.Component);\n\nFade.propTypes = propTypes;\nFade.defaultProps = defaultProps;\nexport default Fade;","export var Size = {\n LARGE: 'large',\n SMALL: 'small',\n XSMALL: 'xsmall'\n};\nexport var SIZE_MAP = {\n large: 'lg',\n medium: 'md',\n small: 'sm',\n xsmall: 'xs',\n lg: 'lg',\n md: 'md',\n sm: 'sm',\n xs: 'xs'\n};\nexport var DEVICE_SIZES = ['lg', 'md', 'sm', 'xs'];\nexport var State = {\n SUCCESS: 'success',\n WARNING: 'warning',\n DANGER: 'danger',\n INFO: 'info'\n};\nexport var Style = {\n DEFAULT: 'default',\n PRIMARY: 'primary',\n LINK: 'link',\n INVERSE: 'inverse'\n};","import _Object$entries from \"@babel/runtime-corejs2/core-js/object/entries\";\nimport _extends from \"@babel/runtime-corejs2/helpers/esm/extends\";\n// TODO: The publicly exposed parts of this should be in lib/BootstrapUtils.\nimport invariant from 'invariant';\nimport PropTypes from 'prop-types';\nimport { SIZE_MAP } from './StyleConfig';\n\nfunction curry(fn) {\n return function () {\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n var last = args[args.length - 1];\n\n if (typeof last === 'function') {\n return fn.apply(void 0, args);\n }\n\n return function (Component) {\n return fn.apply(void 0, args.concat([Component]));\n };\n };\n}\n\nexport function prefix(props, variant) {\n var bsClass = (props.bsClass || '').trim();\n !(bsClass != null) ? process.env.NODE_ENV !== \"production\" ? invariant(false, 'A `bsClass` prop is required for this component') : invariant(false) : void 0;\n return bsClass + (variant ? \"-\" + variant : '');\n}\nexport var bsClass = curry(function (defaultClass, Component) {\n var propTypes = Component.propTypes || (Component.propTypes = {});\n var defaultProps = Component.defaultProps || (Component.defaultProps = {});\n propTypes.bsClass = PropTypes.string;\n defaultProps.bsClass = defaultClass;\n return Component;\n});\nexport var bsStyles = curry(function (styles, defaultStyle, Component) {\n if (typeof defaultStyle !== 'string') {\n Component = defaultStyle;\n defaultStyle = undefined;\n }\n\n var existing = Component.STYLES || [];\n var propTypes = Component.propTypes || {};\n styles.forEach(function (style) {\n if (existing.indexOf(style) === -1) {\n existing.push(style);\n }\n });\n var propType = PropTypes.oneOf(existing); // expose the values on the propType function for documentation\n\n Component.STYLES = existing;\n propType._values = existing;\n Component.propTypes = _extends({}, propTypes, {\n bsStyle: propType\n });\n\n if (defaultStyle !== undefined) {\n var defaultProps = Component.defaultProps || (Component.defaultProps = {});\n defaultProps.bsStyle = defaultStyle;\n }\n\n return Component;\n});\nexport var bsSizes = curry(function (sizes, defaultSize, Component) {\n if (typeof defaultSize !== 'string') {\n Component = defaultSize;\n defaultSize = undefined;\n }\n\n var existing = Component.SIZES || [];\n var propTypes = Component.propTypes || {};\n sizes.forEach(function (size) {\n if (existing.indexOf(size) === -1) {\n existing.push(size);\n }\n });\n var values = [];\n existing.forEach(function (size) {\n var mappedSize = SIZE_MAP[size];\n\n if (mappedSize && mappedSize !== size) {\n values.push(mappedSize);\n }\n\n values.push(size);\n });\n var propType = PropTypes.oneOf(values);\n propType._values = values; // expose the values on the propType function for documentation\n\n Component.SIZES = existing;\n Component.propTypes = _extends({}, propTypes, {\n bsSize: propType\n });\n\n if (defaultSize !== undefined) {\n if (!Component.defaultProps) {\n Component.defaultProps = {};\n }\n\n Component.defaultProps.bsSize = defaultSize;\n }\n\n return Component;\n});\nexport function getClassSet(props) {\n var _classes;\n\n var classes = (_classes = {}, _classes[prefix(props)] = true, _classes);\n\n if (props.bsSize) {\n var bsSize = SIZE_MAP[props.bsSize] || props.bsSize;\n classes[prefix(props, bsSize)] = true;\n }\n\n if (props.bsStyle) {\n classes[prefix(props, props.bsStyle)] = true;\n }\n\n return classes;\n}\n\nfunction getBsProps(props) {\n return {\n bsClass: props.bsClass,\n bsSize: props.bsSize,\n bsStyle: props.bsStyle,\n bsRole: props.bsRole\n };\n}\n\nfunction isBsProp(propName) {\n return propName === 'bsClass' || propName === 'bsSize' || propName === 'bsStyle' || propName === 'bsRole';\n}\n\nexport function splitBsProps(props) {\n var elementProps = {};\n\n _Object$entries(props).forEach(function (_ref) {\n var propName = _ref[0],\n propValue = _ref[1];\n\n if (!isBsProp(propName)) {\n elementProps[propName] = propValue;\n }\n });\n\n return [getBsProps(props), elementProps];\n}\nexport function splitBsPropsAndOmit(props, omittedPropNames) {\n var isOmittedProp = {};\n omittedPropNames.forEach(function (propName) {\n isOmittedProp[propName] = true;\n });\n var elementProps = {};\n\n _Object$entries(props).forEach(function (_ref2) {\n var propName = _ref2[0],\n propValue = _ref2[1];\n\n if (!isBsProp(propName) && !isOmittedProp[propName]) {\n elementProps[propName] = propValue;\n }\n });\n\n return [getBsProps(props), elementProps];\n}\n/**\n * Add a style variant to a Component. Mutates the propTypes of the component\n * in order to validate the new variant.\n */\n\nexport function addStyle(Component) {\n for (var _len2 = arguments.length, styleVariant = new Array(_len2 > 1 ? _len2 - 1 : 0), _key2 = 1; _key2 < _len2; _key2++) {\n styleVariant[_key2 - 1] = arguments[_key2];\n }\n\n bsStyles(styleVariant, Component);\n}\nexport var _curry = curry;","import _extends from \"@babel/runtime-corejs2/helpers/esm/extends\";\nimport _objectWithoutPropertiesLoose from \"@babel/runtime-corejs2/helpers/esm/objectWithoutPropertiesLoose\";\nimport _inheritsLoose from \"@babel/runtime-corejs2/helpers/esm/inheritsLoose\";\nimport classNames from 'classnames';\nimport React from 'react';\nimport elementType from 'prop-types-extra/lib/elementType';\nimport { bsClass, getClassSet, splitBsProps } from './utils/bootstrapUtils';\nvar propTypes = {\n componentClass: elementType\n};\nvar defaultProps = {\n componentClass: 'div'\n};\n\nvar ModalBody =\n/*#__PURE__*/\nfunction (_React$Component) {\n _inheritsLoose(ModalBody, _React$Component);\n\n function ModalBody() {\n return _React$Component.apply(this, arguments) || this;\n }\n\n var _proto = ModalBody.prototype;\n\n _proto.render = function render() {\n var _this$props = this.props,\n Component = _this$props.componentClass,\n className = _this$props.className,\n props = _objectWithoutPropertiesLoose(_this$props, [\"componentClass\", \"className\"]);\n\n var _splitBsProps = splitBsProps(props),\n bsProps = _splitBsProps[0],\n elementProps = _splitBsProps[1];\n\n var classes = getClassSet(bsProps);\n return React.createElement(Component, _extends({}, elementProps, {\n className: classNames(className, classes)\n }));\n };\n\n return ModalBody;\n}(React.Component);\n\nModalBody.propTypes = propTypes;\nModalBody.defaultProps = defaultProps;\nexport default bsClass('modal-body', ModalBody);","import _extends from \"@babel/runtime-corejs2/helpers/esm/extends\";\nimport _objectWithoutPropertiesLoose from \"@babel/runtime-corejs2/helpers/esm/objectWithoutPropertiesLoose\";\nimport _inheritsLoose from \"@babel/runtime-corejs2/helpers/esm/inheritsLoose\";\nimport classNames from 'classnames';\nimport React from 'react';\nimport PropTypes from 'prop-types';\nimport { bsClass, bsSizes, getClassSet, prefix, splitBsProps } from './utils/bootstrapUtils';\nimport { Size } from './utils/StyleConfig';\nvar propTypes = {\n /**\n * A css class to apply to the Modal dialog DOM node.\n */\n dialogClassName: PropTypes.string\n};\n\nvar ModalDialog =\n/*#__PURE__*/\nfunction (_React$Component) {\n _inheritsLoose(ModalDialog, _React$Component);\n\n function ModalDialog() {\n return _React$Component.apply(this, arguments) || this;\n }\n\n var _proto = ModalDialog.prototype;\n\n _proto.render = function render() {\n var _extends2;\n\n var _this$props = this.props,\n dialogClassName = _this$props.dialogClassName,\n className = _this$props.className,\n style = _this$props.style,\n children = _this$props.children,\n props = _objectWithoutPropertiesLoose(_this$props, [\"dialogClassName\", \"className\", \"style\", \"children\"]);\n\n var _splitBsProps = splitBsProps(props),\n bsProps = _splitBsProps[0],\n elementProps = _splitBsProps[1];\n\n var bsClassName = prefix(bsProps);\n\n var modalStyle = _extends({\n display: 'block'\n }, style);\n\n var dialogClasses = _extends({}, getClassSet(bsProps), (_extends2 = {}, _extends2[bsClassName] = false, _extends2[prefix(bsProps, 'dialog')] = true, _extends2));\n\n return React.createElement(\"div\", _extends({}, elementProps, {\n tabIndex: \"-1\",\n role: \"dialog\",\n style: modalStyle,\n className: classNames(className, bsClassName)\n }), React.createElement(\"div\", {\n className: classNames(dialogClassName, dialogClasses)\n }, React.createElement(\"div\", {\n className: prefix(bsProps, 'content'),\n role: \"document\"\n }, children)));\n };\n\n return ModalDialog;\n}(React.Component);\n\nModalDialog.propTypes = propTypes;\nexport default bsClass('modal', bsSizes([Size.LARGE, Size.SMALL], ModalDialog));","import _extends from \"@babel/runtime-corejs2/helpers/esm/extends\";\nimport _objectWithoutPropertiesLoose from \"@babel/runtime-corejs2/helpers/esm/objectWithoutPropertiesLoose\";\nimport _inheritsLoose from \"@babel/runtime-corejs2/helpers/esm/inheritsLoose\";\nimport classNames from 'classnames';\nimport React from 'react';\nimport elementType from 'prop-types-extra/lib/elementType';\nimport { bsClass, getClassSet, splitBsProps } from './utils/bootstrapUtils';\nvar propTypes = {\n componentClass: elementType\n};\nvar defaultProps = {\n componentClass: 'div'\n};\n\nvar ModalFooter =\n/*#__PURE__*/\nfunction (_React$Component) {\n _inheritsLoose(ModalFooter, _React$Component);\n\n function ModalFooter() {\n return _React$Component.apply(this, arguments) || this;\n }\n\n var _proto = ModalFooter.prototype;\n\n _proto.render = function render() {\n var _this$props = this.props,\n Component = _this$props.componentClass,\n className = _this$props.className,\n props = _objectWithoutPropertiesLoose(_this$props, [\"componentClass\", \"className\"]);\n\n var _splitBsProps = splitBsProps(props),\n bsProps = _splitBsProps[0],\n elementProps = _splitBsProps[1];\n\n var classes = getClassSet(bsProps);\n return React.createElement(Component, _extends({}, elementProps, {\n className: classNames(className, classes)\n }));\n };\n\n return ModalFooter;\n}(React.Component);\n\nModalFooter.propTypes = propTypes;\nModalFooter.defaultProps = defaultProps;\nexport default bsClass('modal-footer', ModalFooter);","/**\n * Safe chained function\n *\n * Will only create a new function if needed,\n * otherwise will pass back existing functions or null.\n *\n * @param {function} functions to chain\n * @returns {function|null}\n */\nfunction createChainedFunction() {\n for (var _len = arguments.length, funcs = new Array(_len), _key = 0; _key < _len; _key++) {\n funcs[_key] = arguments[_key];\n }\n\n return funcs.filter(function (f) {\n return f != null;\n }).reduce(function (acc, f) {\n if (typeof f !== 'function') {\n throw new Error('Invalid Argument Type, must only provide functions, undefined, or null.');\n }\n\n if (acc === null) {\n return f;\n }\n\n return function chainedFunction() {\n for (var _len2 = arguments.length, args = new Array(_len2), _key2 = 0; _key2 < _len2; _key2++) {\n args[_key2] = arguments[_key2];\n }\n\n acc.apply(this, args);\n f.apply(this, args);\n };\n }, null);\n}\n\nexport default createChainedFunction;","import _inheritsLoose from \"@babel/runtime-corejs2/helpers/esm/inheritsLoose\";\nimport PropTypes from 'prop-types';\nimport React from 'react';\nvar propTypes = {\n label: PropTypes.string.isRequired,\n onClick: PropTypes.func\n};\nvar defaultProps = {\n label: 'Close'\n};\n\nvar CloseButton =\n/*#__PURE__*/\nfunction (_React$Component) {\n _inheritsLoose(CloseButton, _React$Component);\n\n function CloseButton() {\n return _React$Component.apply(this, arguments) || this;\n }\n\n var _proto = CloseButton.prototype;\n\n _proto.render = function render() {\n var _this$props = this.props,\n label = _this$props.label,\n onClick = _this$props.onClick;\n return React.createElement(\"button\", {\n type: \"button\",\n className: \"close\",\n onClick: onClick\n }, React.createElement(\"span\", {\n \"aria-hidden\": \"true\"\n }, \"\\xD7\"), React.createElement(\"span\", {\n className: \"sr-only\"\n }, label));\n };\n\n return CloseButton;\n}(React.Component);\n\nCloseButton.propTypes = propTypes;\nCloseButton.defaultProps = defaultProps;\nexport default CloseButton;","import _extends from \"@babel/runtime-corejs2/helpers/esm/extends\";\nimport _objectWithoutPropertiesLoose from \"@babel/runtime-corejs2/helpers/esm/objectWithoutPropertiesLoose\";\nimport _inheritsLoose from \"@babel/runtime-corejs2/helpers/esm/inheritsLoose\";\nimport classNames from 'classnames';\nimport PropTypes from 'prop-types';\nimport React from 'react';\nimport { bsClass, getClassSet, splitBsProps } from './utils/bootstrapUtils';\nimport createChainedFunction from './utils/createChainedFunction';\nimport CloseButton from './CloseButton'; // TODO: `aria-label` should be `closeLabel`.\n\nvar propTypes = {\n /**\n * Provides an accessible label for the close\n * button. It is used for Assistive Technology when the label text is not\n * readable.\n */\n closeLabel: PropTypes.string,\n\n /**\n * Specify whether the Component should contain a close button\n */\n closeButton: PropTypes.bool,\n\n /**\n * A Callback fired when the close button is clicked. If used directly inside\n * a Modal component, the onHide will automatically be propagated up to the\n * parent Modal `onHide`.\n */\n onHide: PropTypes.func\n};\nvar defaultProps = {\n closeLabel: 'Close',\n closeButton: false\n};\nvar contextTypes = {\n $bs_modal: PropTypes.shape({\n onHide: PropTypes.func\n })\n};\n\nvar ModalHeader =\n/*#__PURE__*/\nfunction (_React$Component) {\n _inheritsLoose(ModalHeader, _React$Component);\n\n function ModalHeader() {\n return _React$Component.apply(this, arguments) || this;\n }\n\n var _proto = ModalHeader.prototype;\n\n _proto.render = function render() {\n var _this$props = this.props,\n closeLabel = _this$props.closeLabel,\n closeButton = _this$props.closeButton,\n onHide = _this$props.onHide,\n className = _this$props.className,\n children = _this$props.children,\n props = _objectWithoutPropertiesLoose(_this$props, [\"closeLabel\", \"closeButton\", \"onHide\", \"className\", \"children\"]);\n\n var modal = this.context.$bs_modal;\n\n var _splitBsProps = splitBsProps(props),\n bsProps = _splitBsProps[0],\n elementProps = _splitBsProps[1];\n\n var classes = getClassSet(bsProps);\n return React.createElement(\"div\", _extends({}, elementProps, {\n className: classNames(className, classes)\n }), closeButton && React.createElement(CloseButton, {\n label: closeLabel,\n onClick: createChainedFunction(modal && modal.onHide, onHide)\n }), children);\n };\n\n return ModalHeader;\n}(React.Component);\n\nModalHeader.propTypes = propTypes;\nModalHeader.defaultProps = defaultProps;\nModalHeader.contextTypes = contextTypes;\nexport default bsClass('modal-header', ModalHeader);","import _extends from \"@babel/runtime-corejs2/helpers/esm/extends\";\nimport _objectWithoutPropertiesLoose from \"@babel/runtime-corejs2/helpers/esm/objectWithoutPropertiesLoose\";\nimport _inheritsLoose from \"@babel/runtime-corejs2/helpers/esm/inheritsLoose\";\nimport classNames from 'classnames';\nimport React from 'react';\nimport elementType from 'prop-types-extra/lib/elementType';\nimport { bsClass, getClassSet, splitBsProps } from './utils/bootstrapUtils';\nvar propTypes = {\n componentClass: elementType\n};\nvar defaultProps = {\n componentClass: 'h4'\n};\n\nvar ModalTitle =\n/*#__PURE__*/\nfunction (_React$Component) {\n _inheritsLoose(ModalTitle, _React$Component);\n\n function ModalTitle() {\n return _React$Component.apply(this, arguments) || this;\n }\n\n var _proto = ModalTitle.prototype;\n\n _proto.render = function render() {\n var _this$props = this.props,\n Component = _this$props.componentClass,\n className = _this$props.className,\n props = _objectWithoutPropertiesLoose(_this$props, [\"componentClass\", \"className\"]);\n\n var _splitBsProps = splitBsProps(props),\n bsProps = _splitBsProps[0],\n elementProps = _splitBsProps[1];\n\n var classes = getClassSet(bsProps);\n return React.createElement(Component, _extends({}, elementProps, {\n className: classNames(className, classes)\n }));\n };\n\n return ModalTitle;\n}(React.Component);\n\nModalTitle.propTypes = propTypes;\nModalTitle.defaultProps = defaultProps;\nexport default bsClass('modal-title', ModalTitle);","import _Object$entries from \"@babel/runtime-corejs2/core-js/object/entries\";\nexport default function splitComponentProps(props, Component) {\n var componentPropTypes = Component.propTypes;\n var parentProps = {};\n var childProps = {};\n\n _Object$entries(props).forEach(function (_ref) {\n var propName = _ref[0],\n propValue = _ref[1];\n\n if (componentPropTypes[propName]) {\n parentProps[propName] = propValue;\n } else {\n childProps[propName] = propValue;\n }\n });\n\n return [parentProps, childProps];\n}","import _objectWithoutPropertiesLoose from \"@babel/runtime-corejs2/helpers/esm/objectWithoutPropertiesLoose\";\nimport _inheritsLoose from \"@babel/runtime-corejs2/helpers/esm/inheritsLoose\";\nimport _assertThisInitialized from \"@babel/runtime-corejs2/helpers/esm/assertThisInitialized\";\nimport _extends from \"@babel/runtime-corejs2/helpers/esm/extends\";\nimport classNames from 'classnames';\nimport events from 'dom-helpers/events';\nimport ownerDocument from 'dom-helpers/ownerDocument';\nimport canUseDOM from 'dom-helpers/util/inDOM';\nimport getScrollbarSize from 'dom-helpers/util/scrollbarSize';\nimport React from 'react';\nimport PropTypes from 'prop-types';\nimport ReactDOM from 'react-dom';\nimport BaseModal from 'react-overlays/lib/Modal';\nimport isOverflowing from 'react-overlays/lib/utils/isOverflowing';\nimport elementType from 'prop-types-extra/lib/elementType';\nimport Fade from './Fade';\nimport Body from './ModalBody';\nimport ModalDialog from './ModalDialog';\nimport Footer from './ModalFooter';\nimport Header from './ModalHeader';\nimport Title from './ModalTitle';\nimport { bsClass, bsSizes, prefix } from './utils/bootstrapUtils';\nimport createChainedFunction from './utils/createChainedFunction';\nimport splitComponentProps from './utils/splitComponentProps';\nimport { Size } from './utils/StyleConfig';\n\nvar propTypes = _extends({}, BaseModal.propTypes, ModalDialog.propTypes, {\n /**\n * Include a backdrop component. Specify 'static' for a backdrop that doesn't\n * trigger an \"onHide\" when clicked.\n */\n backdrop: PropTypes.oneOf(['static', true, false]),\n\n /**\n * Add an optional extra class name to .modal-backdrop\n * It could end up looking like class=\"modal-backdrop foo-modal-backdrop in\".\n */\n backdropClassName: PropTypes.string,\n\n /**\n * Close the modal when escape key is pressed\n */\n keyboard: PropTypes.bool,\n\n /**\n * Open and close the Modal with a slide and fade animation.\n */\n animation: PropTypes.bool,\n\n /**\n * A Component type that provides the modal content Markup. This is a useful\n * prop when you want to use your own styles and markup to create a custom\n * modal component.\n */\n dialogComponentClass: elementType,\n\n /**\n * When `true` The modal will automatically shift focus to itself when it\n * opens, and replace it to the last focused element when it closes.\n * Generally this should never be set to false as it makes the Modal less\n * accessible to assistive technologies, like screen-readers.\n */\n autoFocus: PropTypes.bool,\n\n /**\n * When `true` The modal will prevent focus from leaving the Modal while\n * open. Consider leaving the default value here, as it is necessary to make\n * the Modal work well with assistive technologies, such as screen readers.\n */\n enforceFocus: PropTypes.bool,\n\n /**\n * When `true` The modal will restore focus to previously focused element once\n * modal is hidden\n */\n restoreFocus: PropTypes.bool,\n\n /**\n * When `true` The modal will show itself.\n */\n show: PropTypes.bool,\n\n /**\n * A callback fired when the header closeButton or non-static backdrop is\n * clicked. Required if either are specified.\n */\n onHide: PropTypes.func,\n\n /**\n * Callback fired before the Modal transitions in\n */\n onEnter: PropTypes.func,\n\n /**\n * Callback fired as the Modal begins to transition in\n */\n onEntering: PropTypes.func,\n\n /**\n * Callback fired after the Modal finishes transitioning in\n */\n onEntered: PropTypes.func,\n\n /**\n * Callback fired right before the Modal transitions out\n */\n onExit: PropTypes.func,\n\n /**\n * Callback fired as the Modal begins to transition out\n */\n onExiting: PropTypes.func,\n\n /**\n * Callback fired after the Modal finishes transitioning out\n */\n onExited: PropTypes.func,\n\n /**\n * @private\n */\n container: BaseModal.propTypes.container\n});\n\nvar defaultProps = _extends({}, BaseModal.defaultProps, {\n animation: true,\n dialogComponentClass: ModalDialog\n});\n\nvar childContextTypes = {\n $bs_modal: PropTypes.shape({\n onHide: PropTypes.func\n })\n};\n/* eslint-disable no-use-before-define, react/no-multi-comp */\n\nfunction DialogTransition(props) {\n return React.createElement(Fade, _extends({}, props, {\n timeout: Modal.TRANSITION_DURATION\n }));\n}\n\nfunction BackdropTransition(props) {\n return React.createElement(Fade, _extends({}, props, {\n timeout: Modal.BACKDROP_TRANSITION_DURATION\n }));\n}\n/* eslint-enable no-use-before-define */\n\n\nvar Modal =\n/*#__PURE__*/\nfunction (_React$Component) {\n _inheritsLoose(Modal, _React$Component);\n\n function Modal(props, context) {\n var _this;\n\n _this = _React$Component.call(this, props, context) || this;\n _this.handleEntering = _this.handleEntering.bind(_assertThisInitialized(_assertThisInitialized(_this)));\n _this.handleExited = _this.handleExited.bind(_assertThisInitialized(_assertThisInitialized(_this)));\n _this.handleWindowResize = _this.handleWindowResize.bind(_assertThisInitialized(_assertThisInitialized(_this)));\n _this.handleDialogClick = _this.handleDialogClick.bind(_assertThisInitialized(_assertThisInitialized(_this)));\n _this.setModalRef = _this.setModalRef.bind(_assertThisInitialized(_assertThisInitialized(_this)));\n _this.state = {\n style: {}\n };\n return _this;\n }\n\n var _proto = Modal.prototype;\n\n _proto.getChildContext = function getChildContext() {\n return {\n $bs_modal: {\n onHide: this.props.onHide\n }\n };\n };\n\n _proto.componentWillUnmount = function componentWillUnmount() {\n // Clean up the listener if we need to.\n this.handleExited();\n };\n\n _proto.setModalRef = function setModalRef(ref) {\n this._modal = ref;\n };\n\n _proto.handleDialogClick = function handleDialogClick(e) {\n if (e.target !== e.currentTarget) {\n return;\n }\n\n this.props.onHide();\n };\n\n _proto.handleEntering = function handleEntering() {\n // FIXME: This should work even when animation is disabled.\n events.on(window, 'resize', this.handleWindowResize);\n this.updateStyle();\n };\n\n _proto.handleExited = function handleExited() {\n // FIXME: This should work even when animation is disabled.\n events.off(window, 'resize', this.handleWindowResize);\n };\n\n _proto.handleWindowResize = function handleWindowResize() {\n this.updateStyle();\n };\n\n _proto.updateStyle = function updateStyle() {\n if (!canUseDOM) {\n return;\n }\n\n var dialogNode = this._modal.getDialogElement();\n\n var dialogHeight = dialogNode.scrollHeight;\n var document = ownerDocument(dialogNode);\n var bodyIsOverflowing = isOverflowing(ReactDOM.findDOMNode(this.props.container || document.body));\n var modalIsOverflowing = dialogHeight > document.documentElement.clientHeight;\n this.setState({\n style: {\n paddingRight: bodyIsOverflowing && !modalIsOverflowing ? getScrollbarSize() : undefined,\n paddingLeft: !bodyIsOverflowing && modalIsOverflowing ? getScrollbarSize() : undefined\n }\n });\n };\n\n _proto.render = function render() {\n var _this$props = this.props,\n backdrop = _this$props.backdrop,\n backdropClassName = _this$props.backdropClassName,\n animation = _this$props.animation,\n show = _this$props.show,\n Dialog = _this$props.dialogComponentClass,\n className = _this$props.className,\n style = _this$props.style,\n children = _this$props.children,\n onEntering = _this$props.onEntering,\n onExited = _this$props.onExited,\n props = _objectWithoutPropertiesLoose(_this$props, [\"backdrop\", \"backdropClassName\", \"animation\", \"show\", \"dialogComponentClass\", \"className\", \"style\", \"children\", \"onEntering\", \"onExited\"]);\n\n var _splitComponentProps = splitComponentProps(props, BaseModal),\n baseModalProps = _splitComponentProps[0],\n dialogProps = _splitComponentProps[1];\n\n var inClassName = show && !animation && 'in';\n return React.createElement(BaseModal, _extends({}, baseModalProps, {\n ref: this.setModalRef,\n show: show,\n containerClassName: prefix(props, 'open'),\n transition: animation ? DialogTransition : undefined,\n backdrop: backdrop,\n backdropTransition: animation ? BackdropTransition : undefined,\n backdropClassName: classNames(prefix(props, 'backdrop'), backdropClassName, inClassName),\n onEntering: createChainedFunction(onEntering, this.handleEntering),\n onExited: createChainedFunction(onExited, this.handleExited)\n }), React.createElement(Dialog, _extends({}, dialogProps, {\n style: _extends({}, this.state.style, style),\n className: classNames(className, inClassName),\n onClick: backdrop === true ? this.handleDialogClick : null\n }), children));\n };\n\n return Modal;\n}(React.Component);\n\nModal.propTypes = propTypes;\nModal.defaultProps = defaultProps;\nModal.childContextTypes = childContextTypes;\nModal.Body = Body;\nModal.Header = Header;\nModal.Title = Title;\nModal.Footer = Footer;\nModal.Dialog = ModalDialog;\nModal.TRANSITION_DURATION = 300;\nModal.BACKDROP_TRANSITION_DURATION = 150;\nexport default bsClass('modal', bsSizes([Size.LARGE, Size.SMALL], Modal));","import _extends from \"@babel/runtime-corejs2/helpers/esm/extends\";\nimport _objectWithoutPropertiesLoose from \"@babel/runtime-corejs2/helpers/esm/objectWithoutPropertiesLoose\";\nimport _inheritsLoose from \"@babel/runtime-corejs2/helpers/esm/inheritsLoose\";\nimport _assertThisInitialized from \"@babel/runtime-corejs2/helpers/esm/assertThisInitialized\";\nimport React from 'react';\nimport PropTypes from 'prop-types';\nimport elementType from 'prop-types-extra/lib/elementType';\nimport createChainedFunction from './utils/createChainedFunction';\nvar propTypes = {\n href: PropTypes.string,\n onClick: PropTypes.func,\n onKeyDown: PropTypes.func,\n disabled: PropTypes.bool,\n role: PropTypes.string,\n tabIndex: PropTypes.oneOfType([PropTypes.number, PropTypes.string]),\n\n /**\n * this is sort of silly but needed for Button\n */\n componentClass: elementType\n};\nvar defaultProps = {\n componentClass: 'a'\n};\n\nfunction isTrivialHref(href) {\n return !href || href.trim() === '#';\n}\n/**\n * There are situations due to browser quirks or Bootstrap CSS where\n * an anchor tag is needed, when semantically a button tag is the\n * better choice. SafeAnchor ensures that when an anchor is used like a\n * button its accessible. It also emulates input `disabled` behavior for\n * links, which is usually desirable for Buttons, NavItems, MenuItems, etc.\n */\n\n\nvar SafeAnchor =\n/*#__PURE__*/\nfunction (_React$Component) {\n _inheritsLoose(SafeAnchor, _React$Component);\n\n function SafeAnchor(props, context) {\n var _this;\n\n _this = _React$Component.call(this, props, context) || this;\n _this.handleClick = _this.handleClick.bind(_assertThisInitialized(_assertThisInitialized(_this)));\n _this.handleKeyDown = _this.handleKeyDown.bind(_assertThisInitialized(_assertThisInitialized(_this)));\n return _this;\n }\n\n var _proto = SafeAnchor.prototype;\n\n _proto.handleClick = function handleClick(event) {\n var _this$props = this.props,\n disabled = _this$props.disabled,\n href = _this$props.href,\n onClick = _this$props.onClick;\n\n if (disabled || isTrivialHref(href)) {\n event.preventDefault();\n }\n\n if (disabled) {\n event.stopPropagation();\n return;\n }\n\n if (onClick) {\n onClick(event);\n }\n };\n\n _proto.handleKeyDown = function handleKeyDown(event) {\n if (event.key === ' ') {\n event.preventDefault();\n this.handleClick(event);\n }\n };\n\n _proto.render = function render() {\n var _this$props2 = this.props,\n Component = _this$props2.componentClass,\n disabled = _this$props2.disabled,\n onKeyDown = _this$props2.onKeyDown,\n props = _objectWithoutPropertiesLoose(_this$props2, [\"componentClass\", \"disabled\", \"onKeyDown\"]);\n\n if (isTrivialHref(props.href)) {\n props.role = props.role || 'button'; // we want to make sure there is a href attribute on the node\n // otherwise, the cursor incorrectly styled (except with role='button')\n\n props.href = props.href || '#';\n }\n\n if (disabled) {\n props.tabIndex = -1;\n props.style = _extends({\n pointerEvents: 'none'\n }, props.style);\n }\n\n return React.createElement(Component, _extends({}, props, {\n onClick: this.handleClick,\n onKeyDown: createChainedFunction(this.handleKeyDown, onKeyDown)\n }));\n };\n\n return SafeAnchor;\n}(React.Component);\n\nSafeAnchor.propTypes = propTypes;\nSafeAnchor.defaultProps = defaultProps;\nexport default SafeAnchor;","import _Object$values from \"@babel/runtime-corejs2/core-js/object/values\";\nimport _objectWithoutPropertiesLoose from \"@babel/runtime-corejs2/helpers/esm/objectWithoutPropertiesLoose\";\nimport _extends from \"@babel/runtime-corejs2/helpers/esm/extends\";\nimport _inheritsLoose from \"@babel/runtime-corejs2/helpers/esm/inheritsLoose\";\nimport classNames from 'classnames';\nimport React from 'react';\nimport PropTypes from 'prop-types';\nimport elementType from 'prop-types-extra/lib/elementType';\nimport { bsClass, bsSizes, bsStyles, getClassSet, prefix, splitBsProps } from './utils/bootstrapUtils';\nimport { Size, State, Style } from './utils/StyleConfig';\nimport SafeAnchor from './SafeAnchor';\nvar propTypes = {\n active: PropTypes.bool,\n disabled: PropTypes.bool,\n block: PropTypes.bool,\n onClick: PropTypes.func,\n componentClass: elementType,\n href: PropTypes.string,\n\n /**\n * Defines HTML button type attribute\n * @defaultValue 'button'\n */\n type: PropTypes.oneOf(['button', 'reset', 'submit'])\n};\nvar defaultProps = {\n active: false,\n block: false,\n disabled: false\n};\n\nvar Button =\n/*#__PURE__*/\nfunction (_React$Component) {\n _inheritsLoose(Button, _React$Component);\n\n function Button() {\n return _React$Component.apply(this, arguments) || this;\n }\n\n var _proto = Button.prototype;\n\n _proto.renderAnchor = function renderAnchor(elementProps, className) {\n return React.createElement(SafeAnchor, _extends({}, elementProps, {\n className: classNames(className, elementProps.disabled && 'disabled')\n }));\n };\n\n _proto.renderButton = function renderButton(_ref, className) {\n var componentClass = _ref.componentClass,\n elementProps = _objectWithoutPropertiesLoose(_ref, [\"componentClass\"]);\n\n var Component = componentClass || 'button';\n return React.createElement(Component, _extends({}, elementProps, {\n type: elementProps.type || 'button',\n className: className\n }));\n };\n\n _proto.render = function render() {\n var _extends2;\n\n var _this$props = this.props,\n active = _this$props.active,\n block = _this$props.block,\n className = _this$props.className,\n props = _objectWithoutPropertiesLoose(_this$props, [\"active\", \"block\", \"className\"]);\n\n var _splitBsProps = splitBsProps(props),\n bsProps = _splitBsProps[0],\n elementProps = _splitBsProps[1];\n\n var classes = _extends({}, getClassSet(bsProps), (_extends2 = {\n active: active\n }, _extends2[prefix(bsProps, 'block')] = block, _extends2));\n\n var fullClassName = classNames(className, classes);\n\n if (elementProps.href) {\n return this.renderAnchor(elementProps, fullClassName);\n }\n\n return this.renderButton(elementProps, fullClassName);\n };\n\n return Button;\n}(React.Component);\n\nButton.propTypes = propTypes;\nButton.defaultProps = defaultProps;\nexport default bsClass('btn', bsSizes([Size.LARGE, Size.SMALL, Size.XSMALL], bsStyles(_Object$values(State).concat([Style.DEFAULT, Style.PRIMARY, Style.LINK]), Style.DEFAULT, Button)));","import React from \"react\" //llamado para creacion de componentes\r\nimport {Modal, Button} from \"react-bootstrap\" //llamado para creacion de componentes de Bootstrap\r\n\r\n\r\nclass ModalGeneral extends React.Component {\r\n\r\n constructor(props) {\r\n super(props);\r\n this.handleHide = this.handleHide.bind(this);\r\n this.handleShow = this.handleShow.bind(this);\r\n\r\n this.state = {\r\n showModal: false\r\n };\r\n }\r\n\r\n handleHide() {\r\n this.setState({ showModal: false });\r\n }\r\n\r\n handleShow() {\r\n this.setState({ showModal: true });\r\n }\r\n\r\n render() {\r\n return (\r\n <div id=\"modal-wrap-alert-modal\">\r\n <div className=\"modal-container\">\r\n <Modal\r\n show={this.state.showModal}\r\n container={this.props.container}\r\n onHide={this.handleHide}\r\n bsSize=\"large\"\r\n backdrop=\"static\"\r\n aria-labelledby=\"contained-modal-title-lg\">\r\n <Modal.Header>\r\n <Modal.Title>\r\n {this.props.MessageTitle}\r\n </Modal.Title>\r\n <Button className={this.props.NoX + \"\"} onClick={() => { this.handleHide(); this.props.MainButtonAction() }}>\r\n <i className=\"fa fa-times\"></i>\r\n </Button>\r\n </Modal.Header>\r\n <Modal.Body>\r\n <div className=\"col-xs-12 col-sm-12 col-md-12 col-lg-12 modal-error-body\">\r\n <div className=\"col-xs-12 col-sm-3 col-md-3 col-lg-3 left-error-modal\">\r\n <i className={this.props.Icono +\" \"+ this.props.colorIco + \" icon-error-modal\"}></i>\r\n </div>\r\n <div className=\"col-xs-12 col-sm-9 col-md-9 col-lg-9 right-error-modal\">\r\n <h4>{this.props.msg}</h4>\r\n </div>\r\n </div>\r\n <div className=\"inner-Model-buttons\">\r\n <Button className={this.props.NoAceptar +\" btn btn-primary btn-si btn-left\" } onClick={() => { this.handleHide(); this.props.MainButtonAction() }}>{this.props.MainButtonText}</Button>\r\n <Button className={this.props.NoCancelar + \" btn btn-default btn-no btn-right\"} onClick={() => { this.handleHide(); this.props.AltButtonAction && this.props.AltButtonAction() }}>{this.props.AltButtonText}</Button>\r\n </div>\r\n </Modal.Body>\r\n </Modal>\r\n </div>\r\n </div>\r\n );\r\n }\r\n}\r\n\r\nexport default ModalGeneral","import _extends from \"@babel/runtime-corejs2/helpers/esm/extends\";\nimport _objectWithoutPropertiesLoose from \"@babel/runtime-corejs2/helpers/esm/objectWithoutPropertiesLoose\";\nimport _inheritsLoose from \"@babel/runtime-corejs2/helpers/esm/inheritsLoose\";\nimport classNames from 'classnames';\nimport React from 'react';\nimport PropTypes from 'prop-types';\nimport all from 'prop-types-extra/lib/all';\nimport Button from './Button';\nimport { bsClass, getClassSet, prefix, splitBsProps } from './utils/bootstrapUtils';\nvar propTypes = {\n vertical: PropTypes.bool,\n justified: PropTypes.bool,\n\n /**\n * Display block buttons; only useful when used with the \"vertical\" prop.\n * @type {bool}\n */\n block: all(PropTypes.bool, function (_ref) {\n var block = _ref.block,\n vertical = _ref.vertical;\n return block && !vertical ? new Error('`block` requires `vertical` to be set to have any effect') : null;\n })\n};\nvar defaultProps = {\n block: false,\n justified: false,\n vertical: false\n};\n\nvar ButtonGroup =\n/*#__PURE__*/\nfunction (_React$Component) {\n _inheritsLoose(ButtonGroup, _React$Component);\n\n function ButtonGroup() {\n return _React$Component.apply(this, arguments) || this;\n }\n\n var _proto = ButtonGroup.prototype;\n\n _proto.render = function render() {\n var _extends2;\n\n var _this$props = this.props,\n block = _this$props.block,\n justified = _this$props.justified,\n vertical = _this$props.vertical,\n className = _this$props.className,\n props = _objectWithoutPropertiesLoose(_this$props, [\"block\", \"justified\", \"vertical\", \"className\"]);\n\n var _splitBsProps = splitBsProps(props),\n bsProps = _splitBsProps[0],\n elementProps = _splitBsProps[1];\n\n var classes = _extends({}, getClassSet(bsProps), (_extends2 = {}, _extends2[prefix(bsProps)] = !vertical, _extends2[prefix(bsProps, 'vertical')] = vertical, _extends2[prefix(bsProps, 'justified')] = justified, _extends2[prefix(Button.defaultProps, 'block')] = block, _extends2));\n\n return React.createElement(\"div\", _extends({}, elementProps, {\n className: classNames(className, classes)\n }));\n };\n\n return ButtonGroup;\n}(React.Component);\n\nButtonGroup.propTypes = propTypes;\nButtonGroup.defaultProps = defaultProps;\nexport default bsClass('btn-group', ButtonGroup);","// TODO: This module should be ElementChildren, and should use named exports.\nimport React from 'react';\n/**\n * Iterates through children that are typically specified as `props.children`,\n * but only maps over children that are \"valid components\".\n *\n * The mapFunction provided index will be normalised to the components mapped,\n * so an invalid component would not increase the index.\n *\n * @param {?*} children Children tree container.\n * @param {function(*, int)} func.\n * @param {*} context Context for func.\n * @return {object} Object containing the ordered map of results.\n */\n\nfunction map(children, func, context) {\n var index = 0;\n return React.Children.map(children, function (child) {\n if (!React.isValidElement(child)) {\n return child;\n }\n\n return func.call(context, child, index++);\n });\n}\n/**\n * Iterates through children that are \"valid components\".\n *\n * The provided forEachFunc(child, index) will be called for each\n * leaf child with the index reflecting the position relative to \"valid components\".\n *\n * @param {?*} children Children tree container.\n * @param {function(*, int)} func.\n * @param {*} context Context for context.\n */\n\n\nfunction forEach(children, func, context) {\n var index = 0;\n React.Children.forEach(children, function (child) {\n if (!React.isValidElement(child)) {\n return;\n }\n\n func.call(context, child, index++);\n });\n}\n/**\n * Count the number of \"valid components\" in the Children container.\n *\n * @param {?*} children Children tree container.\n * @returns {number}\n */\n\n\nfunction count(children) {\n var result = 0;\n React.Children.forEach(children, function (child) {\n if (!React.isValidElement(child)) {\n return;\n }\n\n ++result;\n });\n return result;\n}\n/**\n * Finds children that are typically specified as `props.children`,\n * but only iterates over children that are \"valid components\".\n *\n * The provided forEachFunc(child, index) will be called for each\n * leaf child with the index reflecting the position relative to \"valid components\".\n *\n * @param {?*} children Children tree container.\n * @param {function(*, int)} func.\n * @param {*} context Context for func.\n * @returns {array} of children that meet the func return statement\n */\n\n\nfunction filter(children, func, context) {\n var index = 0;\n var result = [];\n React.Children.forEach(children, function (child) {\n if (!React.isValidElement(child)) {\n return;\n }\n\n if (func.call(context, child, index++)) {\n result.push(child);\n }\n });\n return result;\n}\n\nfunction find(children, func, context) {\n var index = 0;\n var result;\n React.Children.forEach(children, function (child) {\n if (result) {\n return;\n }\n\n if (!React.isValidElement(child)) {\n return;\n }\n\n if (func.call(context, child, index++)) {\n result = child;\n }\n });\n return result;\n}\n\nfunction every(children, func, context) {\n var index = 0;\n var result = true;\n React.Children.forEach(children, function (child) {\n if (!result) {\n return;\n }\n\n if (!React.isValidElement(child)) {\n return;\n }\n\n if (!func.call(context, child, index++)) {\n result = false;\n }\n });\n return result;\n}\n\nfunction some(children, func, context) {\n var index = 0;\n var result = false;\n React.Children.forEach(children, function (child) {\n if (result) {\n return;\n }\n\n if (!React.isValidElement(child)) {\n return;\n }\n\n if (func.call(context, child, index++)) {\n result = true;\n }\n });\n return result;\n}\n\nfunction toArray(children) {\n var result = [];\n React.Children.forEach(children, function (child) {\n if (!React.isValidElement(child)) {\n return;\n }\n\n result.push(child);\n });\n return result;\n}\n\nexport default {\n map: map,\n forEach: forEach,\n count: count,\n find: find,\n filter: filter,\n every: every,\n some: some,\n toArray: toArray\n};","import _extends from \"@babel/runtime-corejs2/helpers/esm/extends\";\nimport _objectWithoutPropertiesLoose from \"@babel/runtime-corejs2/helpers/esm/objectWithoutPropertiesLoose\";\nimport _Array$from from \"@babel/runtime-corejs2/core-js/array/from\";\nimport _inheritsLoose from \"@babel/runtime-corejs2/helpers/esm/inheritsLoose\";\nimport _assertThisInitialized from \"@babel/runtime-corejs2/helpers/esm/assertThisInitialized\";\nimport classNames from 'classnames';\nimport keycode from 'keycode';\nimport React from 'react';\nimport PropTypes from 'prop-types';\nimport ReactDOM from 'react-dom';\nimport RootCloseWrapper from 'react-overlays/lib/RootCloseWrapper';\nimport { bsClass, getClassSet, prefix, splitBsPropsAndOmit } from './utils/bootstrapUtils';\nimport createChainedFunction from './utils/createChainedFunction';\nimport ValidComponentChildren from './utils/ValidComponentChildren';\nvar propTypes = {\n open: PropTypes.bool,\n pullRight: PropTypes.bool,\n onClose: PropTypes.func,\n labelledBy: PropTypes.oneOfType([PropTypes.string, PropTypes.number]),\n onSelect: PropTypes.func,\n rootCloseEvent: PropTypes.oneOf(['click', 'mousedown'])\n};\nvar defaultProps = {\n bsRole: 'menu',\n pullRight: false\n};\n\nvar DropdownMenu =\n/*#__PURE__*/\nfunction (_React$Component) {\n _inheritsLoose(DropdownMenu, _React$Component);\n\n function DropdownMenu(props) {\n var _this;\n\n _this = _React$Component.call(this, props) || this;\n _this.handleRootClose = _this.handleRootClose.bind(_assertThisInitialized(_assertThisInitialized(_this)));\n _this.handleKeyDown = _this.handleKeyDown.bind(_assertThisInitialized(_assertThisInitialized(_this)));\n return _this;\n }\n\n var _proto = DropdownMenu.prototype;\n\n _proto.getFocusableMenuItems = function getFocusableMenuItems() {\n var node = ReactDOM.findDOMNode(this);\n\n if (!node) {\n return [];\n }\n\n return _Array$from(node.querySelectorAll('[tabIndex=\"-1\"]'));\n };\n\n _proto.getItemsAndActiveIndex = function getItemsAndActiveIndex() {\n var items = this.getFocusableMenuItems();\n var activeIndex = items.indexOf(document.activeElement);\n return {\n items: items,\n activeIndex: activeIndex\n };\n };\n\n _proto.focusNext = function focusNext() {\n var _this$getItemsAndActi = this.getItemsAndActiveIndex(),\n items = _this$getItemsAndActi.items,\n activeIndex = _this$getItemsAndActi.activeIndex;\n\n if (items.length === 0) {\n return;\n }\n\n var nextIndex = activeIndex === items.length - 1 ? 0 : activeIndex + 1;\n items[nextIndex].focus();\n };\n\n _proto.focusPrevious = function focusPrevious() {\n var _this$getItemsAndActi2 = this.getItemsAndActiveIndex(),\n items = _this$getItemsAndActi2.items,\n activeIndex = _this$getItemsAndActi2.activeIndex;\n\n if (items.length === 0) {\n return;\n }\n\n var prevIndex = activeIndex === 0 ? items.length - 1 : activeIndex - 1;\n items[prevIndex].focus();\n };\n\n _proto.handleKeyDown = function handleKeyDown(event) {\n switch (event.keyCode) {\n case keycode.codes.down:\n this.focusNext();\n event.preventDefault();\n break;\n\n case keycode.codes.up:\n this.focusPrevious();\n event.preventDefault();\n break;\n\n case keycode.codes.esc:\n case keycode.codes.tab:\n this.props.onClose(event, {\n source: 'keydown'\n });\n break;\n\n default:\n }\n };\n\n _proto.handleRootClose = function handleRootClose(event) {\n this.props.onClose(event, {\n source: 'rootClose'\n });\n };\n\n _proto.render = function render() {\n var _extends2,\n _this2 = this;\n\n var _this$props = this.props,\n open = _this$props.open,\n pullRight = _this$props.pullRight,\n labelledBy = _this$props.labelledBy,\n onSelect = _this$props.onSelect,\n className = _this$props.className,\n rootCloseEvent = _this$props.rootCloseEvent,\n children = _this$props.children,\n props = _objectWithoutPropertiesLoose(_this$props, [\"open\", \"pullRight\", \"labelledBy\", \"onSelect\", \"className\", \"rootCloseEvent\", \"children\"]);\n\n var _splitBsPropsAndOmit = splitBsPropsAndOmit(props, ['onClose']),\n bsProps = _splitBsPropsAndOmit[0],\n elementProps = _splitBsPropsAndOmit[1];\n\n var classes = _extends({}, getClassSet(bsProps), (_extends2 = {}, _extends2[prefix(bsProps, 'right')] = pullRight, _extends2));\n\n return React.createElement(RootCloseWrapper, {\n disabled: !open,\n onRootClose: this.handleRootClose,\n event: rootCloseEvent\n }, React.createElement(\"ul\", _extends({}, elementProps, {\n role: \"menu\",\n className: classNames(className, classes),\n \"aria-labelledby\": labelledBy\n }), ValidComponentChildren.map(children, function (child) {\n return React.cloneElement(child, {\n onKeyDown: createChainedFunction(child.props.onKeyDown, _this2.handleKeyDown),\n onSelect: createChainedFunction(child.props.onSelect, onSelect)\n });\n })));\n };\n\n return DropdownMenu;\n}(React.Component);\n\nDropdownMenu.propTypes = propTypes;\nDropdownMenu.defaultProps = defaultProps;\nexport default bsClass('dropdown-menu', DropdownMenu);","import _extends from \"@babel/runtime-corejs2/helpers/esm/extends\";\nimport _objectWithoutPropertiesLoose from \"@babel/runtime-corejs2/helpers/esm/objectWithoutPropertiesLoose\";\nimport _inheritsLoose from \"@babel/runtime-corejs2/helpers/esm/inheritsLoose\";\nimport React from 'react';\nimport PropTypes from 'prop-types';\nimport classNames from 'classnames';\nimport Button from './Button';\nimport SafeAnchor from './SafeAnchor';\nimport { bsClass as setBsClass } from './utils/bootstrapUtils';\nvar propTypes = {\n noCaret: PropTypes.bool,\n open: PropTypes.bool,\n title: PropTypes.string,\n useAnchor: PropTypes.bool\n};\nvar defaultProps = {\n open: false,\n useAnchor: false,\n bsRole: 'toggle'\n};\n\nvar DropdownToggle =\n/*#__PURE__*/\nfunction (_React$Component) {\n _inheritsLoose(DropdownToggle, _React$Component);\n\n function DropdownToggle() {\n return _React$Component.apply(this, arguments) || this;\n }\n\n var _proto = DropdownToggle.prototype;\n\n _proto.render = function render() {\n var _this$props = this.props,\n noCaret = _this$props.noCaret,\n open = _this$props.open,\n useAnchor = _this$props.useAnchor,\n bsClass = _this$props.bsClass,\n className = _this$props.className,\n children = _this$props.children,\n props = _objectWithoutPropertiesLoose(_this$props, [\"noCaret\", \"open\", \"useAnchor\", \"bsClass\", \"className\", \"children\"]);\n\n delete props.bsRole;\n var Component = useAnchor ? SafeAnchor : Button;\n var useCaret = !noCaret; // This intentionally forwards bsSize and bsStyle (if set) to the\n // underlying component, to allow it to render size and style variants.\n // FIXME: Should this really fall back to `title` as children?\n\n return React.createElement(Component, _extends({}, props, {\n role: \"button\",\n className: classNames(className, bsClass),\n \"aria-haspopup\": true,\n \"aria-expanded\": open\n }), children || props.title, useCaret && ' ', useCaret && React.createElement(\"span\", {\n className: \"caret\"\n }));\n };\n\n return DropdownToggle;\n}(React.Component);\n\nDropdownToggle.propTypes = propTypes;\nDropdownToggle.defaultProps = defaultProps;\nexport default setBsClass('dropdown-toggle', DropdownToggle);","import PropTypes from 'prop-types';\nimport createChainableTypeChecker from 'prop-types-extra/lib/utils/createChainableTypeChecker';\nimport ValidComponentChildren from './ValidComponentChildren';\nvar idPropType = PropTypes.oneOfType([PropTypes.string, PropTypes.number]);\nexport function generatedId(name) {\n return function (props) {\n var error = null;\n\n if (!props.generateChildId) {\n for (var _len = arguments.length, args = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {\n args[_key - 1] = arguments[_key];\n }\n\n error = idPropType.apply(void 0, [props].concat(args));\n\n if (!error && !props.id) {\n error = new Error(\"In order to properly initialize the \" + name + \" in a way that is accessible to assistive technologies \" + (\"(such as screen readers) an `id` or a `generateChildId` prop to \" + name + \" is required\"));\n }\n }\n\n return error;\n };\n}\nexport function requiredRoles() {\n for (var _len2 = arguments.length, roles = new Array(_len2), _key2 = 0; _key2 < _len2; _key2++) {\n roles[_key2] = arguments[_key2];\n }\n\n return createChainableTypeChecker(function (props, propName, component) {\n var missing;\n roles.every(function (role) {\n if (!ValidComponentChildren.some(props.children, function (child) {\n return child.props.bsRole === role;\n })) {\n missing = role;\n return false;\n }\n\n return true;\n });\n\n if (missing) {\n return new Error(\"(children) \" + component + \" - Missing a required child with bsRole: \" + (missing + \". \" + component + \" must have at least one child of each of \") + (\"the following bsRoles: \" + roles.join(', ')));\n }\n\n return null;\n });\n}\nexport function exclusiveRoles() {\n for (var _len3 = arguments.length, roles = new Array(_len3), _key3 = 0; _key3 < _len3; _key3++) {\n roles[_key3] = arguments[_key3];\n }\n\n return createChainableTypeChecker(function (props, propName, component) {\n var duplicate;\n roles.every(function (role) {\n var childrenWithRole = ValidComponentChildren.filter(props.children, function (child) {\n return child.props.bsRole === role;\n });\n\n if (childrenWithRole.length > 1) {\n duplicate = role;\n return false;\n }\n\n return true;\n });\n\n if (duplicate) {\n return new Error(\"(children) \" + component + \" - Duplicate children detected of bsRole: \" + (duplicate + \". Only one child each allowed with the following \") + (\"bsRoles: \" + roles.join(', ')));\n }\n\n return null;\n });\n}","import _extends from \"@babel/runtime-corejs2/helpers/esm/extends\";\nimport _objectWithoutPropertiesLoose from \"@babel/runtime-corejs2/helpers/esm/objectWithoutPropertiesLoose\";\nimport _inheritsLoose from \"@babel/runtime-corejs2/helpers/esm/inheritsLoose\";\nimport _assertThisInitialized from \"@babel/runtime-corejs2/helpers/esm/assertThisInitialized\";\nimport classNames from 'classnames';\nimport activeElement from 'dom-helpers/activeElement';\nimport contains from 'dom-helpers/query/contains';\nimport keycode from 'keycode';\nimport React, { cloneElement } from 'react';\nimport PropTypes from 'prop-types';\nimport ReactDOM from 'react-dom';\nimport all from 'prop-types-extra/lib/all';\nimport elementType from 'prop-types-extra/lib/elementType';\nimport isRequiredForA11y from 'prop-types-extra/lib/isRequiredForA11y';\nimport uncontrollable from 'uncontrollable';\nimport warning from 'warning';\nimport ButtonGroup from './ButtonGroup';\nimport DropdownMenu from './DropdownMenu';\nimport DropdownToggle from './DropdownToggle';\nimport { bsClass as setBsClass, prefix } from './utils/bootstrapUtils';\nimport createChainedFunction from './utils/createChainedFunction';\nimport { exclusiveRoles, requiredRoles } from './utils/PropTypes';\nimport ValidComponentChildren from './utils/ValidComponentChildren';\nvar TOGGLE_ROLE = DropdownToggle.defaultProps.bsRole;\nvar MENU_ROLE = DropdownMenu.defaultProps.bsRole;\nvar propTypes = {\n /**\n * The menu will open above the dropdown button, instead of below it.\n */\n dropup: PropTypes.bool,\n\n /**\n * An html id attribute, necessary for assistive technologies, such as screen readers.\n * @type {string|number}\n * @required\n */\n id: isRequiredForA11y(PropTypes.oneOfType([PropTypes.string, PropTypes.number])),\n componentClass: elementType,\n\n /**\n * The children of a Dropdown may be a `<Dropdown.Toggle>` or a `<Dropdown.Menu>`.\n * @type {node}\n */\n children: all(requiredRoles(TOGGLE_ROLE, MENU_ROLE), exclusiveRoles(MENU_ROLE)),\n\n /**\n * Whether or not component is disabled.\n */\n disabled: PropTypes.bool,\n\n /**\n * Align the menu to the right side of the Dropdown toggle\n */\n pullRight: PropTypes.bool,\n\n /**\n * Whether or not the Dropdown is visible.\n *\n * @controllable onToggle\n */\n open: PropTypes.bool,\n defaultOpen: PropTypes.bool,\n\n /**\n * A callback fired when the Dropdown wishes to change visibility. Called with the requested\n * `open` value, the DOM event, and the source that fired it: `'click'`,`'keydown'`,`'rootClose'`, or `'select'`.\n *\n * ```js\n * function(Boolean isOpen, Object event, { String source }) {}\n * ```\n * @controllable open\n */\n onToggle: PropTypes.func,\n\n /**\n * A callback fired when a menu item is selected.\n *\n * ```js\n * (eventKey: any, event: Object) => any\n * ```\n */\n onSelect: PropTypes.func,\n\n /**\n * If `'menuitem'`, causes the dropdown to behave like a menu item rather than\n * a menu button.\n */\n role: PropTypes.string,\n\n /**\n * Which event when fired outside the component will cause it to be closed\n *\n * *Note: For custom dropdown components, you will have to pass the\n * `rootCloseEvent` to `<RootCloseWrapper>` in your custom dropdown menu\n * component ([similarly to how it is implemented in `<Dropdown.Menu>`](https://github.com/react-bootstrap/react-bootstrap/blob/v0.31.5/src/DropdownMenu.js#L115-L119)).*\n */\n rootCloseEvent: PropTypes.oneOf(['click', 'mousedown']),\n\n /**\n * @private\n */\n onMouseEnter: PropTypes.func,\n\n /**\n * @private\n */\n onMouseLeave: PropTypes.func\n};\nvar defaultProps = {\n componentClass: ButtonGroup\n};\n\nvar Dropdown =\n/*#__PURE__*/\nfunction (_React$Component) {\n _inheritsLoose(Dropdown, _React$Component);\n\n function Dropdown(props, context) {\n var _this;\n\n _this = _React$Component.call(this, props, context) || this;\n _this.handleClick = _this.handleClick.bind(_assertThisInitialized(_assertThisInitialized(_this)));\n _this.handleKeyDown = _this.handleKeyDown.bind(_assertThisInitialized(_assertThisInitialized(_this)));\n _this.handleClose = _this.handleClose.bind(_assertThisInitialized(_assertThisInitialized(_this)));\n _this._focusInDropdown = false;\n _this.lastOpenEventType = null;\n return _this;\n }\n\n var _proto = Dropdown.prototype;\n\n _proto.componentDidMount = function componentDidMount() {\n this.focusNextOnOpen();\n };\n\n _proto.componentWillUpdate = function componentWillUpdate(nextProps) {\n if (!nextProps.open && this.props.open) {\n this._focusInDropdown = contains(ReactDOM.findDOMNode(this.menu), activeElement(document));\n }\n };\n\n _proto.componentDidUpdate = function componentDidUpdate(prevProps) {\n var open = this.props.open;\n var prevOpen = prevProps.open;\n\n if (open && !prevOpen) {\n this.focusNextOnOpen();\n }\n\n if (!open && prevOpen) {\n // if focus hasn't already moved from the menu let's return it\n // to the toggle\n if (this._focusInDropdown) {\n this._focusInDropdown = false;\n this.focus();\n }\n }\n };\n\n _proto.focus = function focus() {\n var toggle = ReactDOM.findDOMNode(this.toggle);\n\n if (toggle && toggle.focus) {\n toggle.focus();\n }\n };\n\n _proto.focusNextOnOpen = function focusNextOnOpen() {\n var menu = this.menu;\n\n if (!menu || !menu.focusNext) {\n return;\n }\n\n if (this.lastOpenEventType === 'keydown' || this.props.role === 'menuitem') {\n menu.focusNext();\n }\n };\n\n _proto.handleClick = function handleClick(event) {\n if (this.props.disabled) {\n return;\n }\n\n this.toggleOpen(event, {\n source: 'click'\n });\n };\n\n _proto.handleClose = function handleClose(event, eventDetails) {\n if (!this.props.open) {\n return;\n }\n\n this.toggleOpen(event, eventDetails);\n };\n\n _proto.handleKeyDown = function handleKeyDown(event) {\n if (this.props.disabled) {\n return;\n }\n\n switch (event.keyCode) {\n case keycode.codes.down:\n if (!this.props.open) {\n this.toggleOpen(event, {\n source: 'keydown'\n });\n } else if (this.menu.focusNext) {\n this.menu.focusNext();\n }\n\n event.preventDefault();\n break;\n\n case keycode.codes.esc:\n case keycode.codes.tab:\n this.handleClose(event, {\n source: 'keydown'\n });\n break;\n\n default:\n }\n };\n\n _proto.toggleOpen = function toggleOpen(event, eventDetails) {\n var open = !this.props.open;\n\n if (open) {\n this.lastOpenEventType = eventDetails.source;\n }\n\n if (this.props.onToggle) {\n this.props.onToggle(open, event, eventDetails);\n }\n };\n\n _proto.renderMenu = function renderMenu(child, _ref) {\n var _this2 = this;\n\n var id = _ref.id,\n onSelect = _ref.onSelect,\n rootCloseEvent = _ref.rootCloseEvent,\n props = _objectWithoutPropertiesLoose(_ref, [\"id\", \"onSelect\", \"rootCloseEvent\"]);\n\n var ref = function ref(c) {\n _this2.menu = c;\n };\n\n if (typeof child.ref === 'string') {\n process.env.NODE_ENV !== \"production\" ? warning(false, 'String refs are not supported on `<Dropdown.Menu>` components. ' + 'To apply a ref to the component use the callback signature:\\n\\n ' + 'https://facebook.github.io/react/docs/more-about-refs.html#the-ref-callback-attribute') : void 0;\n } else {\n ref = createChainedFunction(child.ref, ref);\n }\n\n return cloneElement(child, _extends({}, props, {\n ref: ref,\n labelledBy: id,\n bsClass: prefix(props, 'menu'),\n onClose: createChainedFunction(child.props.onClose, this.handleClose),\n onSelect: createChainedFunction(child.props.onSelect, onSelect, function (key, event) {\n return _this2.handleClose(event, {\n source: 'select'\n });\n }),\n rootCloseEvent: rootCloseEvent\n }));\n };\n\n _proto.renderToggle = function renderToggle(child, props) {\n var _this3 = this;\n\n var ref = function ref(c) {\n _this3.toggle = c;\n };\n\n if (typeof child.ref === 'string') {\n process.env.NODE_ENV !== \"production\" ? warning(false, 'String refs are not supported on `<Dropdown.Toggle>` components. ' + 'To apply a ref to the component use the callback signature:\\n\\n ' + 'https://facebook.github.io/react/docs/more-about-refs.html#the-ref-callback-attribute') : void 0;\n } else {\n ref = createChainedFunction(child.ref, ref);\n }\n\n return cloneElement(child, _extends({}, props, {\n ref: ref,\n bsClass: prefix(props, 'toggle'),\n onClick: createChainedFunction(child.props.onClick, this.handleClick),\n onKeyDown: createChainedFunction(child.props.onKeyDown, this.handleKeyDown)\n }));\n };\n\n _proto.render = function render() {\n var _classes,\n _this4 = this;\n\n var _this$props = this.props,\n Component = _this$props.componentClass,\n id = _this$props.id,\n dropup = _this$props.dropup,\n disabled = _this$props.disabled,\n pullRight = _this$props.pullRight,\n open = _this$props.open,\n onSelect = _this$props.onSelect,\n role = _this$props.role,\n bsClass = _this$props.bsClass,\n className = _this$props.className,\n rootCloseEvent = _this$props.rootCloseEvent,\n children = _this$props.children,\n props = _objectWithoutPropertiesLoose(_this$props, [\"componentClass\", \"id\", \"dropup\", \"disabled\", \"pullRight\", \"open\", \"onSelect\", \"role\", \"bsClass\", \"className\", \"rootCloseEvent\", \"children\"]);\n\n delete props.onToggle;\n var classes = (_classes = {}, _classes[bsClass] = true, _classes.open = open, _classes.disabled = disabled, _classes);\n\n if (dropup) {\n classes[bsClass] = false;\n classes.dropup = true;\n } // This intentionally forwards bsSize and bsStyle (if set) to the\n // underlying component, to allow it to render size and style variants.\n\n\n return React.createElement(Component, _extends({}, props, {\n className: classNames(className, classes)\n }), ValidComponentChildren.map(children, function (child) {\n switch (child.props.bsRole) {\n case TOGGLE_ROLE:\n return _this4.renderToggle(child, {\n id: id,\n disabled: disabled,\n open: open,\n role: role,\n bsClass: bsClass\n });\n\n case MENU_ROLE:\n return _this4.renderMenu(child, {\n id: id,\n open: open,\n pullRight: pullRight,\n bsClass: bsClass,\n onSelect: onSelect,\n rootCloseEvent: rootCloseEvent\n });\n\n default:\n return child;\n }\n }));\n };\n\n return Dropdown;\n}(React.Component);\n\nDropdown.propTypes = propTypes;\nDropdown.defaultProps = defaultProps;\nsetBsClass('dropdown', Dropdown);\nvar UncontrolledDropdown = uncontrollable(Dropdown, {\n open: 'onToggle'\n});\nUncontrolledDropdown.Toggle = DropdownToggle;\nUncontrolledDropdown.Menu = DropdownMenu;\nexport default UncontrolledDropdown;","import _objectWithoutPropertiesLoose from \"@babel/runtime-corejs2/helpers/esm/objectWithoutPropertiesLoose\";\nimport _inheritsLoose from \"@babel/runtime-corejs2/helpers/esm/inheritsLoose\";\nimport _extends from \"@babel/runtime-corejs2/helpers/esm/extends\";\nimport React from 'react';\nimport PropTypes from 'prop-types';\nimport Dropdown from './Dropdown';\nimport splitComponentProps from './utils/splitComponentProps';\n\nvar propTypes = _extends({}, Dropdown.propTypes, {\n // Toggle props.\n bsStyle: PropTypes.string,\n bsSize: PropTypes.string,\n title: PropTypes.node.isRequired,\n noCaret: PropTypes.bool,\n // Override generated docs from <Dropdown>.\n\n /**\n * @private\n */\n children: PropTypes.node\n});\n\nvar DropdownButton =\n/*#__PURE__*/\nfunction (_React$Component) {\n _inheritsLoose(DropdownButton, _React$Component);\n\n function DropdownButton() {\n return _React$Component.apply(this, arguments) || this;\n }\n\n var _proto = DropdownButton.prototype;\n\n _proto.render = function render() {\n var _this$props = this.props,\n bsSize = _this$props.bsSize,\n bsStyle = _this$props.bsStyle,\n title = _this$props.title,\n children = _this$props.children,\n props = _objectWithoutPropertiesLoose(_this$props, [\"bsSize\", \"bsStyle\", \"title\", \"children\"]);\n\n var _splitComponentProps = splitComponentProps(props, Dropdown.ControlledComponent),\n dropdownProps = _splitComponentProps[0],\n toggleProps = _splitComponentProps[1];\n\n return React.createElement(Dropdown, _extends({}, dropdownProps, {\n bsSize: bsSize,\n bsStyle: bsStyle\n }), React.createElement(Dropdown.Toggle, _extends({}, toggleProps, {\n bsSize: bsSize,\n bsStyle: bsStyle\n }), title), React.createElement(Dropdown.Menu, null, children));\n };\n\n return DropdownButton;\n}(React.Component);\n\nDropdownButton.propTypes = propTypes;\nexport default DropdownButton;","import _extends from \"@babel/runtime-corejs2/helpers/esm/extends\";\nimport _objectWithoutPropertiesLoose from \"@babel/runtime-corejs2/helpers/esm/objectWithoutPropertiesLoose\";\nimport _inheritsLoose from \"@babel/runtime-corejs2/helpers/esm/inheritsLoose\";\nimport _assertThisInitialized from \"@babel/runtime-corejs2/helpers/esm/assertThisInitialized\";\nimport classNames from 'classnames';\nimport React from 'react';\nimport PropTypes from 'prop-types';\nimport all from 'prop-types-extra/lib/all';\nimport SafeAnchor from './SafeAnchor';\nimport { bsClass, prefix, splitBsPropsAndOmit } from './utils/bootstrapUtils';\nimport createChainedFunction from './utils/createChainedFunction';\nvar propTypes = {\n /**\n * Highlight the menu item as active.\n */\n active: PropTypes.bool,\n\n /**\n * Disable the menu item, making it unselectable.\n */\n disabled: PropTypes.bool,\n\n /**\n * Styles the menu item as a horizontal rule, providing visual separation between\n * groups of menu items.\n */\n divider: all(PropTypes.bool, function (_ref) {\n var divider = _ref.divider,\n children = _ref.children;\n return divider && children ? new Error('Children will not be rendered for dividers') : null;\n }),\n\n /**\n * Value passed to the `onSelect` handler, useful for identifying the selected menu item.\n */\n eventKey: PropTypes.any,\n\n /**\n * Styles the menu item as a header label, useful for describing a group of menu items.\n */\n header: PropTypes.bool,\n\n /**\n * HTML `href` attribute corresponding to `a.href`.\n */\n href: PropTypes.string,\n\n /**\n * Callback fired when the menu item is clicked.\n */\n onClick: PropTypes.func,\n\n /**\n * Callback fired when the menu item is selected.\n *\n * ```js\n * (eventKey: any, event: Object) => any\n * ```\n */\n onSelect: PropTypes.func\n};\nvar defaultProps = {\n divider: false,\n disabled: false,\n header: false\n};\n\nvar MenuItem =\n/*#__PURE__*/\nfunction (_React$Component) {\n _inheritsLoose(MenuItem, _React$Component);\n\n function MenuItem(props, context) {\n var _this;\n\n _this = _React$Component.call(this, props, context) || this;\n _this.handleClick = _this.handleClick.bind(_assertThisInitialized(_assertThisInitialized(_this)));\n return _this;\n }\n\n var _proto = MenuItem.prototype;\n\n _proto.handleClick = function handleClick(event) {\n var _this$props = this.props,\n href = _this$props.href,\n disabled = _this$props.disabled,\n onSelect = _this$props.onSelect,\n eventKey = _this$props.eventKey;\n\n if (!href || disabled) {\n event.preventDefault();\n }\n\n if (disabled) {\n return;\n }\n\n if (onSelect) {\n onSelect(eventKey, event);\n }\n };\n\n _proto.render = function render() {\n var _this$props2 = this.props,\n active = _this$props2.active,\n disabled = _this$props2.disabled,\n divider = _this$props2.divider,\n header = _this$props2.header,\n onClick = _this$props2.onClick,\n className = _this$props2.className,\n style = _this$props2.style,\n props = _objectWithoutPropertiesLoose(_this$props2, [\"active\", \"disabled\", \"divider\", \"header\", \"onClick\", \"className\", \"style\"]);\n\n var _splitBsPropsAndOmit = splitBsPropsAndOmit(props, ['eventKey', 'onSelect']),\n bsProps = _splitBsPropsAndOmit[0],\n elementProps = _splitBsPropsAndOmit[1];\n\n if (divider) {\n // Forcibly blank out the children; separators shouldn't render any.\n elementProps.children = undefined;\n return React.createElement(\"li\", _extends({}, elementProps, {\n role: \"separator\",\n className: classNames(className, 'divider'),\n style: style\n }));\n }\n\n if (header) {\n return React.createElement(\"li\", _extends({}, elementProps, {\n role: \"heading\",\n className: classNames(className, prefix(bsProps, 'header')),\n style: style\n }));\n }\n\n return React.createElement(\"li\", {\n role: \"presentation\",\n className: classNames(className, {\n active: active,\n disabled: disabled\n }),\n style: style\n }, React.createElement(SafeAnchor, _extends({}, elementProps, {\n role: \"menuitem\",\n tabIndex: \"-1\",\n onClick: createChainedFunction(onClick, this.handleClick)\n })));\n };\n\n return MenuItem;\n}(React.Component);\n\nMenuItem.propTypes = propTypes;\nMenuItem.defaultProps = defaultProps;\nexport default bsClass('dropdown', MenuItem);","import _extends from \"@babel/runtime-corejs2/helpers/esm/extends\";\nimport _objectWithoutPropertiesLoose from \"@babel/runtime-corejs2/helpers/esm/objectWithoutPropertiesLoose\";\nimport _inheritsLoose from \"@babel/runtime-corejs2/helpers/esm/inheritsLoose\";\nimport classNames from 'classnames';\nimport React from 'react';\nimport { bsClass, getClassSet, splitBsProps } from './utils/bootstrapUtils';\n\nvar HelpBlock =\n/*#__PURE__*/\nfunction (_React$Component) {\n _inheritsLoose(HelpBlock, _React$Component);\n\n function HelpBlock() {\n return _React$Component.apply(this, arguments) || this;\n }\n\n var _proto = HelpBlock.prototype;\n\n _proto.render = function render() {\n var _this$props = this.props,\n className = _this$props.className,\n props = _objectWithoutPropertiesLoose(_this$props, [\"className\"]);\n\n var _splitBsProps = splitBsProps(props),\n bsProps = _splitBsProps[0],\n elementProps = _splitBsProps[1];\n\n var classes = getClassSet(bsProps);\n return React.createElement(\"span\", _extends({}, elementProps, {\n className: classNames(className, classes)\n }));\n };\n\n return HelpBlock;\n}(React.Component);\n\nexport default bsClass('help-block', HelpBlock);","import React from \"react\";\r\n\r\nexport class InputDecimal extends React.Component {\r\n constructor(prop) {\r\n super(prop);\r\n this.state = { input: \"\" };\r\n this.start = 0;\r\n }\r\n\r\n change = e => {\r\n this.start = e.target.selectionStart;\r\n let val = e.target.value;\r\n val = val.replace(/([^0-9.]+)/, \"\");\r\n val = val.replace(/^(0|\\.)/, \"\");\r\n const match = /(\\d{0,7})[^.]*((?:\\.\\d{0,2})?)/g.exec(val);\r\n const value = match[1] + match[2];\r\n e.target.value = value;\r\n this.setState({ input: value });\r\n if (val.length > 0) {\r\n e.target.value = Number(value).toFixed(2);\r\n e.target.setSelectionRange(this.start, this.start);\r\n this.setState({ input: Number(value).toFixed(2) });\r\n if (this.props.handleChange)\r\n this.props.handleChange({ value: Number(value).toFixed(2), name: e.target.name });\r\n return;\r\n }\r\n if (this.props.handleChange)\r\n this.props.handleChange({ value: value, name: e.target.name });\r\n };\r\n\r\n // blur = e => {\r\n // const val = e.target.value;\r\n // if (val.length > 0) {\r\n // e.target.value = Number(val).toFixed(2);\r\n // this.setState({ input: e.target.value });\r\n // }\r\n // };\r\n\r\n render() {\r\n return (\r\n <input\r\n type=\"text\"\r\n // onBlur={this.blur}\r\n onChange={this.change}\r\n value={this.state.input}\r\n {...this.props}\r\n />\r\n );\r\n }\r\n}\r\n","import React from \"react\" //llamado para creacion de componentes\r\nimport { Modal, Button } from \"react-bootstrap\" //llamado para creacion de componentes de Bootstrap\r\n\r\n\r\nclass ModalConfirmData extends React.Component {\r\n\r\n constructor(props) {\r\n super(props);\r\n this.handleHide = this.handleHide.bind(this);\r\n this.handleShow = this.handleShow.bind(this);\r\n\r\n this.state = {\r\n showModal: false\r\n };\r\n }\r\n\r\n handleHide() {\r\n this.setState({ showModal: false });\r\n }\r\n\r\n handleShow() {\r\n this.setState({ showModal: true });\r\n }\r\n\r\n render() {\r\n return (\r\n <div id=\"modal-wrap-alert-modal\">\r\n <div className=\"modal-container\">\r\n <Modal\r\n show={this.state.showModal}\r\n container={this.props.container}\r\n onHide={this.handleHide}\r\n bsSize=\"large\"\r\n backdrop=\"static\"\r\n aria-labelledby=\"contained-modal-title-lg\"\r\n dialogClassName=\"modal-confirm-data\"\r\n >\r\n <Modal.Header>\r\n <Modal.Title>\r\n {this.props.MessageTitle}\r\n </Modal.Title>\r\n <Button className={this.props.NoX + \"\"} onClick={() => { this.handleHide(); this.props.MainButtonAction() }}>\r\n <i className=\"fa fa-times\"></i>\r\n </Button>\r\n </Modal.Header>\r\n <Modal.Body>\r\n <div className=\"col-xs-12 col-sm-12 col-md-12 col-lg-12 confirm-modal-body\">\r\n <div className=\"col-xs-12 col-md-12 right-error-modal\">\r\n <span className=\"msg-confirm\">{CONST.Modal.MsgConfirm}</span>\r\n </div>\r\n\r\n <div className=\"modal-datos-solicitar\">\r\n <div className=\"camposForm\">\r\n <div className=\"col-sm-6\">\r\n <label>{CONST.Form.Cotizante.labelTiposDoc}:</label>\r\n </div>\r\n <div className=\"col-sm-6\">\r\n {this.props.data.TipoDocCotizante.documento}\r\n </div>\r\n <div className=\"clearfix\" />\r\n </div>\r\n <div className=\"camposForm\">\r\n <div className=\"col-sm-6\">\r\n <label>{CONST.Form.Cotizante.labelDocumento}:</label>\r\n </div>\r\n <div className=\"col-sm-6\">\r\n {this.props.data.DocCotizante}\r\n </div>\r\n <div className=\"clearfix\" />\r\n </div>\r\n <div className=\"camposForm\">\r\n <div className=\"col-sm-6\">\r\n <label>{CONST.Form.Cotizante.labelNombre}:</label>\r\n </div>\r\n <div className=\"col-sm-6\">\r\n {this.props.data.DocCotizante}\r\n </div>\r\n <div className=\"clearfix\" />\r\n </div>\r\n <div className=\"camposForm\">\r\n <div className=\"col-sm-6\">\r\n <label>{CONST.Form.Cotizante.labelEmail}:</label>\r\n </div>\r\n <div className=\"col-sm-6\">\r\n {this.props.data.EMail}\r\n </div>\r\n <div className=\"clearfix\" />\r\n </div>\r\n <div className=\"camposForm\">\r\n <div className=\"col-sm-6\">\r\n <label>{CONST.Form.Cotizante.labelCelular}:</label>\r\n </div>\r\n <div className=\"col-sm-6\">\r\n {this.props.data.CelCotizante}\r\n </div>\r\n <div className=\"clearfix\" />\r\n </div>\r\n <div className=\"camposForm\">\r\n <div className=\"col-sm-6\">\r\n <label>{CONST.Form.Cotizante.sedesLabel}:</label>\r\n </div>\r\n <div className=\"col-sm-6\">\r\n {this.props.data.SedeCotizante.Nombre}\r\n </div>\r\n <div className=\"clearfix\" />\r\n </div>\r\n\r\n <span className=\"dashed-line\" />\r\n\r\n {/* Información del menor */}\r\n <div className=\"camposForm\">\r\n <div className=\"col-sm-6\">\r\n <label>{CONST.Form.Menor.labelTiposDoc}:</label>\r\n </div>\r\n <div className=\"col-sm-6\">\r\n {this.props.data.TipoDocMenor.documento}\r\n </div>\r\n <div className=\"clearfix\" />\r\n </div>\r\n <div className=\"camposForm\">\r\n <div className=\"col-sm-6\">\r\n <label>{CONST.Form.Menor.labelDocumento}:</label>\r\n </div>\r\n <div className=\"col-sm-6\">\r\n {this.props.data.DocMenor}\r\n </div>\r\n <div className=\"clearfix\" />\r\n </div>\r\n <div className=\"camposForm\">\r\n <div className=\"col-sm-6\">\r\n <label>{CONST.Form.Menor.labelNombre}:</label>\r\n </div>\r\n <div className=\"col-sm-6\">\r\n {this.props.data.NombreMenor}\r\n </div>\r\n <div className=\"clearfix\" />\r\n </div>\r\n <div className=\"camposForm\">\r\n <div className=\"col-sm-6\">\r\n <label>{CONST.Form.Menor.labelPeso}:</label>\r\n </div>\r\n <div className=\"col-sm-6\">\r\n {this.props.data.PesoMenor}\r\n </div>\r\n <div className=\"clearfix\" />\r\n </div> \r\n <div className=\"camposForm\">\r\n <div className=\"col-sm-6\">\r\n <label>{CONST.Form.Menor.labelTalla}:</label>\r\n </div>\r\n <div className=\"col-sm-6\">\r\n {this.props.data.TallaMenor}\r\n </div>\r\n <div className=\"clearfix\" />\r\n </div>\r\n <div className=\"camposForm\">\r\n <div className=\"col-sm-6\">\r\n <label>{CONST.Form.Menor.labelEdad}:</label>\r\n </div>\r\n <div className=\"col-sm-6\">\r\n {this.props.data.EdadMenor}\r\n </div>\r\n <div className=\"clearfix\" />\r\n </div> \r\n \r\n </div>\r\n </div>\r\n <div className=\"inner-Model-buttons\">\r\n <Button className={\"btn btn-primary btn-si btn-left\"} onClick={() => { this.handleHide(); }}>\r\n Editar\r\n </Button>\r\n <Button className={\"btn btn-default btn-no btn-right\"} onClick={() => { this.handleHide(); this.props.MainButtonAction(this.props.data) }}>\r\n Enviar\r\n </Button>\r\n </div>\r\n </Modal.Body>\r\n </Modal>\r\n </div>\r\n </div>\r\n );\r\n }\r\n}\r\n\r\nexport default ModalConfirmData","import React from \"react\";\r\n// import { isCallService } from \"./../common/scripts/services\";\r\nimport { DropdownButton, MenuItem, HelpBlock } from \"react-bootstrap\"\r\nimport { InputDecimal } from \"../common/scripts/inputDecimal\";\r\nimport ModalConfirmData from \"../common/scripts/modalConfirmData\"\r\n\r\nclass FormEscolar extends React.Component {\r\n // Metodo para establecer las variables iniciales\r\n constructor(props) {\r\n super(props)\r\n this.state = {\r\n Title: '',\r\n TipoDocCotizante: { tipo: '' },\r\n DocCotizante: '',\r\n EMail: '',\r\n CelCotizante: '',\r\n SedeCotizante: { Nombre: '' },\r\n sedesList: props.sedesList,\r\n TipoDocMenor: { tipo: '' },\r\n DocMenor: '',\r\n NombreMenor: '',\r\n PesoMenor: '', // Decimal\r\n TallaMenor: '', // Decimal\r\n EdadMenor: '', // Entero\r\n AutorizacionDatos: false,\r\n AutorizacionRecibir: false,\r\n InfoVeridica: false,\r\n\r\n activarBoton: false,\r\n }\r\n this.TiposDocCotiz = CONST.Form.Cotizante.TiposDoc;\r\n this.TiposDocMenor = CONST.Form.Menor.TiposDoc;\r\n this.sedesListSettings = CONST.SedesList;\r\n this.handleSelectTipoDoc = this.handleSelectTipoDoc.bind(this);\r\n this.soloNumeros = this.soloNumeros.bind(this);\r\n this.handleChecks = this.handleChecks.bind(this);\r\n this.handleEdadMenor = this.handleEdadMenor.bind(this);\r\n }\r\n\r\n handleSelectTipoDoc(e) {\r\n this.setState({\r\n [e.key]: e.item,\r\n }, () => {\r\n document.getElementById(\"form-solicitud\").reset();\r\n this.validarCampos();\r\n })\r\n }\r\n\r\n handleBasicInput(e) {\r\n this.setState({\r\n [e.target.name]: e.target.value,\r\n }, () => {\r\n document.getElementById(\"form-solicitud\").reset();\r\n this.validarCampos();\r\n })\r\n }\r\n\r\n handleEdadMenor(e) {\r\n let x = e.currentTarget.value;\r\n x = x.replace(/[^0-9]+/g, \"\");\r\n e.currentTarget.value = x;\r\n // if (e.currentTarget.value.length > e.currentTarget.maxLength) {\r\n // e.currentTarget.value = e.currentTarget.value.slice(0, e.currentTarget.maxLength);\r\n // }\r\n this.setState({\r\n [e.currentTarget.name]: e.currentTarget.value,\r\n }, () => {\r\n document.getElementById(\"form-solicitud\").reset();\r\n this.validarCampos();\r\n })\r\n }\r\n\r\n handleDecimalInput(e) {\r\n this.setState({\r\n [e.name]: e.value,\r\n }, () => {\r\n document.getElementById(\"form-solicitud\").reset();\r\n this.validarCampos();\r\n })\r\n }\r\n\r\n getErrorMessage(error) {\r\n return this.props.activeModal(\r\n \"\",\r\n error,\r\n CONST.Iconos.Error,\r\n CONST.Colores.Azul,\r\n CONST.Modal.Bolean.False,\r\n CONST.Modal.Bolean.False,\r\n CONST.Modal.Bolean.True\r\n );\r\n }\r\n\r\n validarCampos() {\r\n let inputStates = [];\r\n let parentForm = document.querySelector('.form-solicitud');\r\n let input = parentForm.getElementsByClassName('input-requerido');\r\n for (let i = 0; i < input.length; i++) {\r\n if (input[i].value == '') {\r\n inputStates.push(false);\r\n } else {\r\n inputStates.push(true);\r\n }\r\n }\r\n\r\n const inputTelefono = this.state.CelCotizante;\r\n if (inputTelefono === '') {\r\n inputStates.push(false);\r\n } else {\r\n inputStates.push(true);\r\n }\r\n\r\n const SedeCotizante = this.state.SedeCotizante;\r\n if (SedeCotizante.Nombre === '') {\r\n inputStates.push(false);\r\n } else {\r\n inputStates.push(true);\r\n }\r\n\r\n const inputEmail = this.state.EMail;\r\n if (this.validarEmail(inputEmail)) {\r\n inputStates.push(true);\r\n } else {\r\n inputStates.push(false);\r\n }\r\n\r\n const TipoDocMenor = this.state.TipoDocMenor.Tipo;\r\n if (TipoDocMenor === '') {\r\n inputStates.push(false);\r\n } else {\r\n inputStates.push(true);\r\n }\r\n const TipoDocCotizante = this.state.TipoDocCotizante.Tipo;\r\n if (TipoDocCotizante === '') {\r\n inputStates.push(false);\r\n } else {\r\n inputStates.push(true);\r\n }\r\n \r\n const InfoVeridica = this.state.InfoVeridica\r\n if (InfoVeridica) {\r\n inputStates.push(true);\r\n } else {\r\n inputStates.push(false);\r\n }\r\n \r\n const AutorizacionDatos = this.state.AutorizacionDatos\r\n if (AutorizacionDatos) {\r\n inputStates.push(true);\r\n } else {\r\n inputStates.push(false);\r\n }\r\n\r\n const inputFalse = Array.prototype.slice.call(inputStates).some(x => !x);\r\n if (inputFalse) {\r\n if (this.state.activarBoton == true) {\r\n this.setState({\r\n activarBoton: false\r\n });\r\n }\r\n } else {\r\n if (this.state.activarBoton == false) {\r\n this.setState({\r\n activarBoton: true\r\n });\r\n }\r\n }\r\n // console.log({inputStates})\r\n }\r\n\r\n validarEmail(email) {\r\n var re = /^(([^<>()[\\]\\\\.,;:\\s@\\\"]+(\\.[^<>()[\\]\\\\.,;:\\s@\\\"]+)*)|(\\\".+\\\"))@((\\[[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}\\])|(([a-zA-Z\\-0-9]+\\.)+[a-zA-Z]{2,}))$/;\r\n return re.test(email);\r\n }\r\n soloNumeros(e) {\r\n let x = e.currentTarget.value;\r\n x = x.replace(/[^0-9]+/g, \"\");\r\n e.currentTarget.value = x;\r\n }\r\n limpiar() {\r\n this.setState({\r\n causa: '',\r\n }, () => {\r\n document.getElementById(\"form-solicitud\").reset();\r\n this.validarCampos();\r\n });\r\n }\r\n\r\n showConfirmModal() {\r\n this.refs.activeModalConfirmData.handleShow();\r\n }\r\n\r\n handleChecks(key, value) {\r\n this.setState({\r\n [key]: value,\r\n }, () => {\r\n this.validarCampos();\r\n });\r\n }\r\n\r\n render() {\r\n return (\r\n <form className=\"form-solicitud\" id=\"form-solicitud\">\r\n <div className=\"datos-solicitar\">\r\n <div className=\"camposForm\">\r\n <div className=\"col-sm-5\">\r\n <label>{CONST.Form.Cotizante.labelTiposDoc}*:</label>\r\n </div>\r\n <div className=\"col-sm-7\">\r\n <DropdownButton\r\n dropup={false}\r\n title={this.state.TipoDocCotizante.tipo === '' ? CONST.Form.Cotizante.placeholderTiposDoc : this.state.TipoDocCotizante.documento}\r\n className=\"dropdown-custom\"\r\n bsStyle=\"inline mt-12\"\r\n onSelect={this.handleSelectTipoDoc.bind(this)}>\r\n {\r\n this.TiposDocCotiz.map((item, index) => (\r\n <MenuItem\r\n eventKey={{ item: item, key: 'TipoDocCotizante' }}\r\n >\r\n { item.documento }\r\n </MenuItem>\r\n ))\r\n }\r\n </DropdownButton>\r\n </div>\r\n <div className=\"clearfix\" />\r\n </div>\r\n <div className=\"camposForm\">\r\n <div className=\"col-sm-5\">\r\n <label>{CONST.Form.Cotizante.labelDocumento}*:</label>\r\n </div>\r\n <div className=\"col-sm-7\">\r\n <input type=\"text\" maxlength=\"22\"\r\n placeholder={CONST.Form.Cotizante.placeholderDocumento}\r\n className=\"input-form-solicitar input-requerido\"\r\n name={'DocCotizante'}\r\n value={this.state.DocCotizante}\r\n onChange={this.handleBasicInput.bind(this)}\r\n />\r\n </div>\r\n <div className=\"clearfix\" />\r\n </div>\r\n <div className=\"camposForm\">\r\n <div className=\"col-sm-5\">\r\n <label>{CONST.Form.Cotizante.labelNombre}*:</label>\r\n </div>\r\n <div className=\"col-sm-7\">\r\n <input type=\"text\"\r\n placeholder={CONST.Form.Cotizante.placeholderNombre}\r\n className=\"input-form-solicitar input-requerido\"\r\n name={'Title'}\r\n value={this.state.Title}\r\n onChange={this.handleBasicInput.bind(this)}\r\n />\r\n </div>\r\n <div className=\"clearfix\" />\r\n </div>\r\n <div className=\"camposForm\">\r\n <div className=\"col-sm-5\">\r\n <label>{CONST.Form.Cotizante.labelEmail}*:</label>\r\n </div>\r\n <div className=\"col-sm-7\">\r\n <input type=\"email\" \r\n placeholder={CONST.Form.Cotizante.placeholderEmail}\r\n className=\"input-form-solicitar input-requerido\"\r\n name={'EMail'}\r\n value={this.state.EMail}\r\n onChange={this.handleBasicInput.bind(this)}\r\n />\r\n </div>\r\n <div className=\"clearfix\" />\r\n </div>\r\n <div className=\"camposForm\">\r\n <div className=\"col-sm-5\">\r\n <label>{CONST.Form.Cotizante.labelCelular}*:</label>\r\n </div>\r\n <div className=\"col-sm-7\">\r\n <input maxlength=\"10\" type=\"text\"\r\n onKeyUp={this.soloNumeros} \r\n placeholder={CONST.Form.Cotizante.placeholderCelular} \r\n className=\"input-form-solicitar input-requerido\"\r\n name={'CelCotizante'}\r\n value={this.state.CelCotizante}\r\n onChange={this.handleBasicInput.bind(this)}\r\n />\r\n </div>\r\n <div className=\"clearfix\" />\r\n </div>\r\n <div className=\"camposForm\">\r\n <div className=\"col-sm-5\">\r\n <label>{CONST.Form.Cotizante.sedesLabel}*:</label>\r\n </div>\r\n <div className=\"col-sm-7\">\r\n <DropdownButton\r\n dropup={false}\r\n title={this.state.SedeCotizante.Nombre === '' ? CONST.Form.Cotizante.placeholderSede : this.state.SedeCotizante.Nombre}\r\n className=\"dropdown-custom\"\r\n bsStyle=\"inline mt-12\"\r\n onSelect={this.handleSelectTipoDoc.bind(this)}>\r\n {\r\n this.sedesListSettings &&\r\n this.sedesListSettings.map((item, index) => (\r\n <MenuItem\r\n eventKey={{ item: item, key: 'SedeCotizante' }}\r\n >\r\n { item.Nombre }\r\n </MenuItem>\r\n ))\r\n }\r\n </DropdownButton>\r\n </div>\r\n <div className=\"clearfix\" />\r\n </div>\r\n\r\n <span className=\"dashed-line\" />\r\n\r\n {/* Información del menor */}\r\n <div className=\"camposForm\">\r\n <div className=\"col-sm-5\">\r\n <label>{CONST.Form.Menor.labelTiposDoc}*:</label>\r\n </div>\r\n <div className=\"col-sm-7\">\r\n <DropdownButton\r\n dropup={false}\r\n title={this.state.TipoDocMenor.tipo === '' ? CONST.Form.Menor.placeholderTiposDoc : this.state.TipoDocMenor.documento}\r\n className=\"dropdown-custom\"\r\n bsStyle=\"inline mt-12\"\r\n onSelect={this.handleSelectTipoDoc.bind(this)}>\r\n {\r\n this.TiposDocMenor.map((item, index) => (\r\n <MenuItem\r\n eventKey={{ item: item, key: 'TipoDocMenor' }}\r\n >\r\n { item.documento }\r\n </MenuItem>\r\n ))\r\n }\r\n </DropdownButton>\r\n </div>\r\n <div className=\"clearfix\" />\r\n </div>\r\n <div className=\"camposForm\">\r\n <div className=\"col-sm-5\">\r\n <label>{CONST.Form.Menor.labelDocumento}*:</label>\r\n </div>\r\n <div className=\"col-sm-7\">\r\n <input type=\"text\" maxlength=\"22\"\r\n placeholder={CONST.Form.Menor.placeholderDocumento}\r\n className=\"input-form-solicitar input-requerido\"\r\n name={'DocMenor'}\r\n value={this.state.DocMenor}\r\n onChange={this.handleBasicInput.bind(this)}\r\n />\r\n </div>\r\n <div className=\"clearfix\" />\r\n </div>\r\n <div className=\"camposForm\">\r\n <div className=\"col-sm-5\">\r\n <label>{CONST.Form.Menor.labelNombre}*:</label>\r\n </div>\r\n <div className=\"col-sm-7\">\r\n <input type=\"text\"\r\n placeholder={CONST.Form.Menor.placeholderNombre}\r\n className=\"input-form-solicitar input-requerido\"\r\n name={'NombreMenor'}\r\n value={this.state.NombreMenor}\r\n onChange={this.handleBasicInput.bind(this)}\r\n />\r\n </div>\r\n <div className=\"clearfix\" />\r\n </div>\r\n <div className=\"camposForm\">\r\n <div className=\"col-sm-5\">\r\n <label>{CONST.Form.Menor.labelPeso}*:</label>\r\n </div>\r\n <div className=\"col-sm-7\">\r\n <InputDecimal \r\n maxlength=\"6\"\r\n placeholder={CONST.Form.Menor.placeholderPeso} \r\n className=\"input-form-solicitar input-requerido\"\r\n name={'PesoMenor'}\r\n value={this.state.PesoMenor}\r\n handleChange={this.handleDecimalInput.bind(this)}\r\n />\r\n <HelpBlock>{CONST.Form.Menor.helpPeso}</HelpBlock>\r\n </div>\r\n <div className=\"clearfix\" />\r\n </div> \r\n <div className=\"camposForm\">\r\n <div className=\"col-sm-5\">\r\n <label>{CONST.Form.Menor.labelTalla}*:</label>\r\n </div>\r\n <div className=\"col-sm-7\">\r\n <InputDecimal \r\n maxlength=\"6\"\r\n placeholder={CONST.Form.Menor.placeholderTalla} \r\n className=\"input-form-solicitar input-requerido\"\r\n name={'TallaMenor'}\r\n value={this.state.TallaMenor}\r\n handleChange={this.handleDecimalInput.bind(this)}\r\n />\r\n <HelpBlock>{CONST.Form.Menor.helpTalla}</HelpBlock>\r\n </div>\r\n <div className=\"clearfix\" />\r\n </div>\r\n <div className=\"camposForm\">\r\n <div className=\"col-sm-5\">\r\n <label>{CONST.Form.Menor.labelEdad}*:</label>\r\n </div>\r\n <div className=\"col-sm-7\">\r\n <input \r\n maxLength=\"2\"\r\n type=\"text\"\r\n // onKeyUp={this.soloNumeros} \r\n // oninput=\"javascript: if (this.value.length > this.maxLength) this.value = this.value.slice(0, this.maxLength);\"\r\n placeholder={CONST.Form.Menor.placeholderEdad} \r\n className=\"input-form-solicitar input-requerido\"\r\n name={'EdadMenor'}\r\n value={this.state.EdadMenor}\r\n onChange={this.handleEdadMenor}\r\n />\r\n </div>\r\n <div className=\"clearfix\" />\r\n </div> \r\n \r\n <div className=\"form-group row mt-50\">\r\n <div className=\"center-block\" style={{ width: \"400px\" }}>\r\n <div className=\"checkbox-inline center-block\">\r\n <div className=\"cotizar-form-controls btn-terminosCondiciones\">\r\n <button\r\n onClick={(event) => {\r\n event.preventDefault();\r\n this.handleChecks('InfoVeridica', true);\r\n }}\r\n className={`cotizar-form-controls-action ${\r\n this.state.InfoVeridica ? \"active\" : null\r\n }`}\r\n >\r\n Si\r\n </button>\r\n <button\r\n onClick={(event) => {\r\n event.preventDefault();\r\n this.handleChecks('InfoVeridica', false);\r\n }}\r\n className={`cotizar-form-controls-action ${\r\n !this.state.InfoVeridica ? \"active\" : null\r\n }`}\r\n >\r\n No\r\n </button>\r\n </div>\r\n <label style={{ width: \"250px\" }}>\r\n {CONST.MsgInfoVeridica}*\r\n </label>\r\n </div>\r\n </div>\r\n </div>\r\n\r\n <div className=\"form-group row\">\r\n <div className=\"center-block\" style={{ width: \"400px\" }}>\r\n <div className=\"checkbox-inline center-block\">\r\n <div className=\"cotizar-form-controls btn-terminosCondiciones\">\r\n <button\r\n onClick={(event) => {\r\n event.preventDefault();\r\n this.handleChecks('AutorizacionDatos', true);\r\n }}\r\n className={`cotizar-form-controls-action ${\r\n this.state.AutorizacionDatos ? \"active\" : null\r\n }`}\r\n >\r\n Si\r\n </button>\r\n <button\r\n onClick={(event) => {\r\n event.preventDefault();\r\n this.handleChecks('AutorizacionDatos', false);\r\n }}\r\n className={`cotizar-form-controls-action ${\r\n !this.state.AutorizacionDatos ? \"active\" : null\r\n }`}\r\n >\r\n No\r\n </button>\r\n </div>\r\n <label style={{ width: \"250px\" }}>\r\n {CONST.MsgAutorizacionDatos}*\r\n </label>\r\n </div>\r\n </div>\r\n </div>\r\n \r\n <div className=\"form-group row\">\r\n <div className=\"center-block\" style={{ width: \"400px\" }}>\r\n <div className=\"checkbox-inline center-block\">\r\n <div className=\"cotizar-form-controls btn-terminosCondiciones\">\r\n <button\r\n onClick={(event) => {\r\n event.preventDefault();\r\n this.handleChecks('AutorizacionRecibir', true);\r\n }}\r\n className={`cotizar-form-controls-action ${\r\n this.state.AutorizacionRecibir ? \"active\" : null\r\n }`}\r\n >\r\n Si\r\n </button>\r\n <button\r\n onClick={(event) => {\r\n event.preventDefault();\r\n this.handleChecks('AutorizacionRecibir', false);\r\n }}\r\n className={`cotizar-form-controls-action ${\r\n !this.state.AutorizacionRecibir ? \"active\" : null\r\n }`}\r\n >\r\n No\r\n </button>\r\n </div>\r\n <label style={{ width: \"250px\" }}>\r\n {CONST.MsgAutorizacionRecibir}\r\n </label>\r\n </div>\r\n </div>\r\n </div>\r\n \r\n </div>\r\n <div className=\"clearfix\" />\r\n <div className=\"text-center buttons-content\">\r\n {/* <a onClick={this.limpiar.bind(this)} className=\"btn btn-link\">{i18next.t(\"GrupoFamiliar.Limpiar\")}</a> */}\r\n <a id=\"validarForm\"\r\n disabled={this.state.activarBoton ? false : true}\r\n onClick={this.showConfirmModal.bind(this)}\r\n className={this.state.activarBoton ? \"btn btn-default btn-continuar\" : \"btn btn-default btn-continuar disabled\"} >\r\n {CONST.Form.Botones.Continuar}\r\n </a>\r\n <div className=\"clearfix\" />\r\n </div>\r\n\r\n <ModalConfirmData\r\n MessageTitle={'Validación de información'}\r\n NoX={''}\r\n data={this.state}\r\n ref=\"activeModalConfirmData\"\r\n MainButtonAction={this.props.sendData}\r\n />\r\n </form>)\r\n }\r\n}\r\n\r\nexport default FormEscolar","import React from \"react\";\r\nimport ReactDOM from \"react-dom\";\r\nimport { isCallService } from \"../common/scripts/services\" //llamado libreria servicios\r\n// import GetListData from \"./../common/scripts/getListData\"\r\nimport ModalGeneral from \"../common/scripts/modalGeneral\"\r\n// import AlertMessage from \"../components/transacciones.comp_mensajeAlerta\";\r\nimport \"./../styles/main.less\";\r\nimport FormEscolar from \"../components/transacciones.comp_Form\";\r\n\r\nclass Index extends React.Component {\r\n constructor(props) {\r\n super(props);\r\n this.state = {\r\n titulo: CONST.Titulo,\r\n subtitulo: CONST.SubTitulo,\r\n error: false,\r\n titleModal: '',\r\n messageModal: '',\r\n noX: '',\r\n noAceptar: '',\r\n noCancelar: '',\r\n titleModalWrap: '',\r\n messageModalWrap: '',\r\n noXWrap: '',\r\n noAceptarWrap: '',\r\n noCancelarWrap: '',\r\n success: false,\r\n data: null,\r\n tipoSeleccion: \"\",\r\n modalActivo: false,\r\n loading: false,\r\n showHome: true,\r\n sedesList: [],\r\n };\r\n\r\n this.titleModalWrap = '';\r\n this.noXWrap = '';\r\n this.noAceptarWrap = '';\r\n this.noCancelarWrap = '';\r\n this.personasSeleccionadas = [];\r\n this.basepathurl = window.location.pathname;\r\n this.changeSelectionType = this.changeSelectionType.bind(this);\r\n this.modalForm = this.modalForm.bind(this);\r\n this.handleModalClose = this.handleModalClose.bind(this);\r\n this.activeModal = this.activeModal.bind(this);\r\n this.sendData = this.sendData.bind(this);\r\n }\r\n\r\n handleModalClose() {\r\n this.setState({ showHome: true });\r\n }\r\n\r\n getErrorMessage(error) {\r\n return this.activeModal(\r\n \"\",\r\n error,\r\n CONST.Iconos.Error,\r\n CONST.Colores.Azul,\r\n CONST.Modal.Bolean.False,\r\n CONST.Modal.Bolean.False,\r\n CONST.Modal.Bolean.True\r\n );\r\n }\r\n\r\n getDataCatch() {\r\n return this.activeModal(\r\n CONST.Modal.Title.Error,\r\n CONST.Modal.ErrorSistema,\r\n CONST.Iconos.Error,\r\n CONST.Colores.Azul,\r\n CONST.Modal.Bolean.False,\r\n CONST.Modal.Bolean.False,\r\n CONST.Modal.Bolean.True\r\n );\r\n }\r\n\r\n modalForm() {\r\n return this.activeModal(\r\n CONST.Modal.Title.ResultadoEnviada,\r\n CONST.Modal.MsgSuccess,\r\n CONST.Iconos.Exitoso,\r\n CONST.Colores.Verde,\r\n CONST.Modal.Bolean.False,\r\n CONST.Modal.Bolean.True,\r\n CONST.Modal.Bolean.False\r\n );\r\n }\r\n\r\n activeModal(title, message, icono, colorIco, noX, noAceptar, noCancelar) {\r\n this.setState({\r\n titleModal: title,\r\n messageModal: message,\r\n iconoModal: icono,\r\n colorIco: colorIco,\r\n noX: noX,\r\n noAceptar: noAceptar,\r\n noCancelar: noCancelar,\r\n modalActivo: true\r\n });\r\n this.refs.activeModal.handleShow();\r\n }\r\n\r\n activeModalConfirm(title, noX, noAceptar, noCancelar) {\r\n this.titleModalWrap = title;\r\n this.noXWrap = noX;\r\n this.noAceptarWrap = noAceptar;\r\n this.noCancelarWrap = noCancelar;\r\n this.refs.modalConfirmacion.handleShow();\r\n }\r\n\r\n\r\n activeModalGenerado(title, message, noX, noAceptar, noCancelar) {\r\n this.setState({\r\n titleModalWrap: title,\r\n messageModalWrap: message,\r\n noXWrap: noX,\r\n noAceptarWrap: noAceptar,\r\n noCancelarWrap: noCancelar\r\n });\r\n this.refs.modalGenerado.handleShow();\r\n }\r\n\r\n changeSelectionType(value) {\r\n this.setState({\r\n tipoSeleccion: value\r\n })\r\n }\r\n\r\n\r\n RegistrarAuditoria() {\r\n\r\n // isCallService({\r\n // service: 'RegistrarAuditoriaED',\r\n // params: {\r\n // \"TipoIdentificacionUsuario\": this.state.tipoDocumentoIdentidad,\r\n // \"NumeroIdentificacionUsuario\": this.state.numeroDocumentoIdentidad,\r\n // \"NombreUsuario\": this.state.nombre,\r\n // \"Transaccion\": \"Actualización de Datos\",\r\n // \"TipoIdenficacionAfiliado\": this.state.tipoDocumentoIdentidad,\r\n // \"NumeroIdentificacionAfiliado\": this.state.numeroDocumentoIdentidad,\r\n // \"IPUsuario\": \"0.0.0.0\",\r\n // \"ProgramaAfiliacion\": \"N/A\",\r\n // \"DatosAdicionales\": \"{\\\"Accion\\\":\\\"Actualización Datos\\\",\\\"Telefono\\\":\" + this.state.telefono + \",\\\"Email\\\":\\\"\" + this.state.email + \"\\\"\" + \",\\\"Estado\\\":\\\"\" + estado + \"\\\"\" + \",\\\"CodigoPlan\\\":\\\"\" + codigoPlan + \"\\\"\" + \",\\\"NombreRegistrado\\\":\\\"\" + nombreRegistardo + \"\\\"\" + \",\\\"AutorizaTratamientoDatos\\\":\" + this.state.autorizacionTratamientoDatos + \",\\\"AceptaRecibirInformacion\\\": \" + this.state.autorizacionRecibirInformacion + \"\\\"}\"\r\n // },\r\n // changeState: 'auditoriaresult',\r\n // executeCallback: (result) => {\r\n // },\r\n // error: \"error\",\r\n // condition: true,\r\n // showLogs: false,\r\n // mainObject: this\r\n // });\r\n }\r\n\r\n componentDidMount() {\r\n setTimeout(() => {\r\n this.getSedes();\r\n }, 50);\r\n }\r\n\r\n getSedes() {\r\n // decidieron hardcodear las sedes en settings\r\n return;\r\n if (this.state.sedesList.length > 0) return;\r\n console.log('ejecuta');\r\n isCallService({\r\n service: 'UtilidadSharepointGet',\r\n params: {\r\n \"Accion\": \"GET\",\r\n \"Lista\": \"SedesSalud\",\r\n \"UrlSitio\": window.location.origin + \"/salud/\",\r\n \"Vista\": [\"ID\", \"Nombre\"],\r\n \"Campos\": { \"Query\":[{\r\n \"NombreInternoCampo\": \"CSSaliRedEstadoChoise\",\r\n \"Valor\": \"Activo\",\r\n \"Tipo\": \"Text\",\r\n }]}\r\n },\r\n changeState: 'sedesList',\r\n loadingElement: '#mainLayout',\r\n executeCallback: (result) => {\r\n console.log({result})\r\n let list = [];\r\n result.Resultado.map((item, index) => {\r\n let newOption = {\r\n value: item.Valores[0].Valor,\r\n Nombre: item.Valores[1].Valor,\r\n };\r\n list.push(newOption);\r\n });\r\n const filtered = list.filter((el) => el.Nombre !== '');\r\n this.setState({ sedesList: filtered });\r\n },\r\n error: \"error\",\r\n condition: true,\r\n showLogs: false,\r\n mainObject: this\r\n });\r\n }\r\n\r\n async sendData(data) {\r\n isCallService({\r\n service: 'UtilidadSharepoint',\r\n loadingElement: '#mainLayout',\r\n params: {\r\n \"Accion\": \"ADD\",\r\n \"Lista\": \"CertificadosColegio\",\r\n \"UrlSitio\": window.location.origin + \"/salud/\",\r\n \"Campos\": {\r\n \"Valores\": [\r\n {\r\n \"NombreInternoCampo\": \"Title\",\r\n \"Valor\": data.Title\r\n },\r\n {\r\n \"NombreInternoCampo\": \"TipoDocCotizante\",\r\n \"Valor\": data.TipoDocCotizante.tipo\r\n },\r\n {\r\n \"NombreInternoCampo\": \"DocCotizante\",\r\n \"Valor\": data.DocCotizante\r\n },\r\n {\r\n \"NombreInternoCampo\": \"EMail\",\r\n \"Valor\": data.EMail\r\n },\r\n {\r\n \"NombreInternoCampo\": \"CelCotizante\",\r\n \"Valor\": data.CelCotizante\r\n },\r\n {\r\n \"NombreInternoCampo\": \"Sede\",\r\n \"Valor\": data.SedeCotizante.Nombre\r\n },\r\n {\r\n \"NombreInternoCampo\": \"TipoDocMenor\",\r\n \"Valor\": data.TipoDocMenor.tipo\r\n },\r\n {\r\n \"NombreInternoCampo\": \"DocMenor\",\r\n \"Valor\": data.DocMenor\r\n },\r\n {\r\n \"NombreInternoCampo\": \"NombreMenor\",\r\n \"Valor\": data.NombreMenor\r\n },\r\n {\r\n \"NombreInternoCampo\": \"PesoMenor\",\r\n \"Valor\": data.PesoMenor\r\n },\r\n {\r\n \"NombreInternoCampo\": \"TallaMenor\",\r\n \"Valor\": data.TallaMenor\r\n },\r\n {\r\n \"NombreInternoCampo\": \"EdadMenor\",\r\n \"Valor\": data.EdadMenor\r\n },\r\n {\r\n \"NombreInternoCampo\": \"AutorizacionDatos\",\r\n \"Valor\": \"true\"\r\n },\r\n {\r\n \"NombreInternoCampo\": \"AutorizacionRecibir\",\r\n \"Valor\": \"true\"\r\n },\r\n {\r\n \"NombreInternoCampo\": \"InfoVeridica\",\r\n \"Valor\": \"true\"\r\n }\r\n ]\r\n }\r\n },\r\n // changeState: 'pruebaresult',\r\n executeCallback: (result) => {\r\n this.setState({ showHome: false }); // para borrar el componente form\r\n this.RegistrarAuditoria();\r\n this.modalForm();\r\n },\r\n error: (result) => {\r\n console.log(\"Error\");\r\n },\r\n condition: true,\r\n showLogs: false,\r\n mainObject: this\r\n });\r\n }\r\n\r\n render() {\r\n // Stateless components for react router\r\n const InitHome = (props) => {\r\n\r\n return (\r\n <div>\r\n <section className=\"nationalportability__titles\">\r\n <h1 className=\"nationalportability__mainTitle\">{CONST.Titulo}</h1>\r\n {this.state.subtitulo != null ? <h2 className=\"nationalportability__mainSubtitle\">{this.state.subtitulo}</h2> : null}\r\n </section>\r\n {/* <AlertMessage className=\"alert--inline\" mensaje={CONST.Alert.Messages.CaidaServicios} close={true} type=\"info\" /> */}\r\n {/* {this.state.sedesList.length > 0 && */}\r\n <FormEscolar \r\n sendData={this.sendData}\r\n activeModal={this.activeModal}\r\n sedesList={this.state.sedesList} \r\n />\r\n {/* } */}\r\n </div>)\r\n }\r\n\r\n return (\r\n <div id=\"mainLayout\">\r\n <div className=\"loadingWraper\">\r\n <div className=\"compensarLoading\">\r\n <span>cargando... </span>\r\n </div>\r\n </div>\r\n {this.state.loading &&\r\n <div className=\"nationalportability\">\r\n <div className=\"loadingWraper\">\r\n <div className=\"compensarLoading\">\r\n <span>cargando... </span>\r\n </div>\r\n </div>\r\n </div>\r\n }\r\n \r\n {this.state.showHome && // para limpiar los campos al volver a crearse el componente\r\n <InitHome />\r\n }\r\n\r\n <ModalGeneral\r\n MessageTitle={this.state.titleModal}\r\n Icono={this.state.iconoModal}\r\n colorIco={this.state.colorIco}\r\n NoX={this.state.noX}\r\n NoAceptar={this.state.noAceptar}\r\n NoCancelar={this.state.noCancelar}\r\n msg={this.state.messageModal}\r\n MainButtonText={CONST.Modal.Buttons.Cerrar}\r\n AltButtonText={CONST.Modal.Buttons.Cerrar}\r\n ref=\"activeModal\"\r\n MainButtonAction={this.handleModalClose}\r\n />\r\n </div>)\r\n }\r\n\r\n\r\n /* shouldComponentUpdate(prevProps, nextState){\r\n console.group('Prueba de cambios')\r\n console.log('Prev:',prevProps)\r\n console.log('Next:',nextState)\r\n console.groupEnd()\r\n return false\r\n } */\r\n\r\n}\r\n\r\n// Implementacion de este layout al HTML\r\nReactDOM.render(<Index />, document.getElementById(\"index\"));"],"sourceRoot":""}